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

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

不懂為什么(itarget-odiv.offsetLeft)/20 之后left就回不到200或者-200了。。。。

var speed = (itarget-odiv.offsetLeft)/20;

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

if(oDiv.offsetLeft ==iTarget){

?? clearInterval(timer);

}

else{

oDiv.style.left = oDiv.offsetLeft+speed+'px';

}

正在回答

3 回答

當(itarget-odiv.offsetLeft)/20=10/20=0.5PX時,oDiv.style.left = oDiv.offsetLeft+speed+'px';=190+0.5=190.5px,像素出現了小數程序無法執行下去。


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

慕田峪8115978

他的speed做了取整操作,不是這個問題
2016-04-10 回復 有任何疑惑可以回復我~
#2

其實TAMA醬不是我名字 提問者

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

小西瓜籽

非常正確
2016-06-23 回復 有任何疑惑可以回復我~
#4

小西瓜籽

然后 把speed=0.5向上取整為1,在進行一次else中的代碼 ,結束
2016-06-23 回復 有任何疑惑可以回復我~
#5

小西瓜籽

執行一次后 offsetLeft=-190 那 190/20=9.5 也不是整數 不加下面取整代碼時,程序一直執行到offsetLeft=-10時才不能執行是為什么,求解答
2016-06-23 回復 有任何疑惑可以回復我~
查看2條回復

就是因為那個offsetLeft屬性的值是不能帶小數的。所以要想辦法用Math的方法把speed變成整數,這樣才能把offsetLeft弄成整數.

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

請檢查你的樣式表里面有沒有加border,offsetLift獲取的左值+邊框的值

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

舉報

0/150
提交
取消

不懂為什么(itarget-odiv.offsetLeft)/20 之后left就回不到200或者-200了。。。。

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

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

幫助反饋 APP下載

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

公眾號

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