6分45 出错解释:浮点数值的最高精度是17位小数,但在进行算数计算时其精度远远不如整数,这个特性导致无法测试特定的浮点数值。这是使用IEEE754数值的浮点计算的通病,并非只有JS有 其他使用这个754规则的语言也有
2016-03-10
已采纳回答 / lawrence_lai
使用setInterval 会返回一个数值来标记这个setInterval而且不是人为规定的数值,用timer来标记这个数值。用clearInterval来清除这个setInterval 不然setInterval会不断以一个间隔来重复触发里面的function,例如不断赋给一个变量一个相同的值。消耗内存。最简单的方面不清除定时器的叠加会让setInterval不断叠加,比如speed是每秒钟1PX移动,你重复触发5次就变成了每秒钟5PX移动,而且无法停止。至于函数为什么没有参数,你可以在回去复习一下JS...
2016-03-10
透明度不能加parseInt,使用parseFloat,px
if(attr = = 'opacity'){}
else{}
if(attr=='opacity'){ obj.style.filter='alpha(opacity:'+(icur+speed)+')';
obj.style.opacity = (icur+speed)/100;}
else{obj.style[attr] = icur+speed+'px';}
if(attr = = 'opacity'){}
else{}
if(attr=='opacity'){ obj.style.filter='alpha(opacity:'+(icur+speed)+')';
obj.style.opacity = (icur+speed)/100;}
else{obj.style[attr] = icur+speed+'px';}
2016-03-09
如果改成>=0,当循环停止时left可能大于0,这样在出发鼠标事件,就会一直执行循环中的clearInterval(timer),就不会产生缩回动画了
2016-03-09