求解這段代碼的問題在哪?
<script type=text/javascript>
window.onload=function(){
var od1=document.getElementById("d1");
? ? ? ? od1.onmouseover=function (){
orun(10,0);
}
od1.onmouseout=function(){
orun(-10,-200);
}
}
var timer=null;
function orun(speed,iend){
clearInterval(timer);
var od1=document.getElementById("d1");
? ?timer=setInterval(function(){
if (od1.offsetLeft==iend){
clearInterval(timer);
}
else?
{
od1.style.left=od1.offsetLeft+speed+'px';
}
? ?},30)
}
</script>
一是向右動起來為什么不會停而向左卻可以停。
二是向右和向左移動的速度為什么明顯不一樣。謝謝
2015-06-15
od1.offsetLeft==iend,首先確定你這個對象的初始位置(如果大於0),則向右移動始終不會停;而向左移動時當(dāng)位置為-200時,則停止。
od1.style.left=od1.offsetLeft+speed+'px';.offsetLeft這個屬性表示當(dāng)前對象到父類對象的距離,向右移動時距離變大速度快了;向左移動時距離變小速度慢了。