亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

沒進行Math.floor之前,oDiv.offsetLeft 跟 iTarget值不同啊,一個是-190,一個是-200,可是怎么運動就停止了呢,oDiv.offsetLeft==iTarget,這個還沒成立啊

window.onload=function(){

????var?oDiv=document.getElementById("div1");

????oDiv.onmouseover=function(){

????????startMove(0);

????}

????oDiv.onmouseout=function(){

????????startMove(-200);

????}

}

?

????var?timer=null;

?

function?startMove(iTarget){

????????clearInterval(timer);//清空所有定時器

????????var?oDiv=document.getElementById("div1");

????????timer=setInterval(function(){

????????????speed=(iTarget-oDiv.offsetLeft)/20;

????????????speed=speed>0?Math.ceil(speed):Math.floor(speed);

????????????alert(Math.floor(-0.5));//可以查看最后的變化是1px速度

????????????if(oDiv.offsetLeft==iTarget){

????????????????clearInterval(timer);

????????????}

????????????else{

????????????oDiv.style.left=oDiv.offsetLeft+speed+"px";}

????????},?10)

}


正在回答

2 回答

復制了一下你的代碼測試了一下,應該是停在-190.5這個數的。

原因我理解的是這樣的:因為-190.5還差-9.5就達到了-200,但是如果在進行運算的話,就是比-200小了。

好比10/3,結果是3余1,永遠會留下一個1,這個1就相當于上面所說的-9.5.

2 回復 有任何疑惑可以回復我~
#1

qq_馬五寨小子_0 提問者

非常感謝!
2016-02-04 回復 有任何疑惑可以回復我~
#2

qq_風_54

比-200小,但是沒滿足oDiv.offsetLeft==iTarget這個條件定時器應該還是可以進行的啊,這里沒滿足這個條件為什么會停止呢
2016-03-13 回復 有任何疑惑可以回復我~

不知道

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

沒進行Math.floor之前,oDiv.offsetLeft 跟 iTarget值不同啊,一個是-190,一個是-200,可是怎么運動就停止了呢,oDiv.offsetLeft==iTarget,這個還沒成立啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號