已采纳回答 / 桐谷还灬和人
因为没有具体代码没法具体判断:可能性有一下几个。------1.stopMove的 if 判断范围没写对。致使滑块"滑过了"。2.stopMove定时器没有清除。导致鼠标触发”滑回效果“,然而没有清除定时器clearInterval,导致计时器一直计时下去。在我们眼里看来就是”滑出去了“。
2016-08-24
已采纳回答 / 不再使用
speed=speed>0?Math.ceil(speed):Math.floor(speed);速度大于0就往上取整(用于显示出来)速度小于0就往下取整(用于缩回隐藏)等到最后速度(绝对值)小于1px/30ms的时候不至于被浏览器忽视(小数不承认)你这个情况是不是没有写这一句判定
2016-08-22
已采纳回答 / 小菜鸟飞
我觉得,因为他根本到不了0,,你的left是-468,一次加10,等到了-8的时候在加10,就是2,也不是0,就继续循环了,,你把left改成-460试试 ,应该就可以了
2016-08-21
已采纳回答 / 穿皮夹克的大熊
offsetLeft 为数值 不该+pxfunction leave(){ clearInterval(timer); timer = setInterval(function(){ var c = document.getElementById('yu'); if(c.offsetLeft <= -480){ clearInterval(timer); } else{...
2016-08-20
已采纳回答 / YuuyaRin
因为之前定时器的循环里,因为最后结果都是差零点几,结果最后导致多执行一次来满足target,然后最后运动的距离就超出了,负的向下取整,正的向上取就是为了弥补上除法除出来差的那零点几,然后就不会多执行那一次循环,就避免了超出和未运动到的情况
2016-08-20
已采纳回答 / 不如怀念o
只要不是立即执行的代码,放在哪无所谓,而且你用的是onload事件,本身就是页面加载完才执行。如果在别的浏览器中可以实现,而在火狐中不行时,可以试试加上前缀-moz-opacity。ps:火狐以前很强大,现在让人觉得很垃圾,还是谷歌的chrome标准支持的好。
2016-08-18
已采纳回答 / 不如怀念o
aLi[i].timer=null;首先说一下,timer是节点自定义属性,不需要初始化为null;你应该去看看width、clientWidth、offsetWidth的定义。
2016-08-18
已采纳回答 / 不如怀念o
timer不是变量,它只是节点的自定义属性,直接就可以添加;而且声明变量的方式是错误的,所以下面的代码不会执行,建议多看控制台信息。那个女老师讲的课还是有很多问题的。
2016-08-18