已采纳回答 / qq_怕什么山高水远_0
var oDiv = document.getElementById("div1"); var speed = (iTarget-oDiv.offsetLeft)/20; speed = speed>0?Math.ceil(speed):Math.floor(speed);把上面这一段代码写在定时器里面,每执行一次定时器speed的值就会改变一次,写在定时器外面就不会变化了
2015-09-23
已采纳回答 / Gooooo0
if (oDiv.offsetLeft>iTarget) {speed==-10;}else{speed==10;}自动空行了 ,把这两行代码的==换成 =就行了
2015-09-10
已采纳回答 / 纪奕滨
把if(alpha>30){}改成if(alpha>iTarget){}起初你的alpha是30,之后自增10,alpha是40,过了30毫秒再调用一次函数,此时alpha〉30,speed为-10,之后alpha自减10,又变成30,所以总是循环再0.3和0.4之间
2015-08-26
已采纳回答 / Diseaon
将“var flag=true;”放入定时器内部,for in 循环的外部,解决定时器不能停止的问题。部分代码:<...code...>具体解释就是:第一次进入定时器,flag被定义,赋值为true,接着进入for in循环,for ...
2015-08-26