已采纳回答 / 丶大和小
icur=Math.round(parseFloat(getStyle(obj.attr))*100);obj.attr => obj,attr 细心一点啊兄台。
2016-05-26
已采纳回答 / 且听风吟20151212
var oMain=document.getElementById('main')这句不对,你html中定义的id是move,js中却用的main,把main改成move就对了
2016-05-23
已采纳回答 / 刹那烟华丶
同学,这么明显的错误var timer=null; var alpha=30;<...code...> var Odiv=document.getElementById('div1'); clearInterval(timer);
2016-05-20
已采纳回答 / 妹妹大胆往前走
那就是页面已加载就运行;如:<script>document.getElementById("myFrame").addEventListener("load", myFunction);function myFunction() { document.getElementById("demo").innerHTML = "Iframe is loaded.";}</script>
2016-05-18
已采纳回答 / 不再热情似火
flag放在函数外面也行,但是每次执行都必须初始化 flag 为 true,其次,flag 的 初始化 必须放在 for in 循环上面(不管你在哪定义flag)。 因为是for in 循环,参数达到目标之后,确实不执行你说的 icur != json[changeType] ; 但是,其余的for 循环时,会对其他的元素进行这个判断 if (attr !== json[attr] ) ;如果不等,flag 就变成了false;你可能看错了一个地方,if(flag === true){.....} 是放...
2016-05-17
已采纳回答 / Csunnnnn
思路上分析,可以肯定问题出现在条件判断上,即tmd == 0.3这个条件从来没成立过,实际上是永不成立,这是浮点数的锅。目前一切语言的浮点数计算都是近似计算,会精确到小数点16位以上。所以对于浮点数变量tmd来说,人为感觉是 tmd == 0.3的时候, tmd实际值则是 0.300000000000001之类的值,所以不等。想要看清tmd实际值,只需在 tmd = tmd - 0.1;这句话后面加alert(tmd),就看得一清二楚。
2016-05-17
已采纳回答 / 为难自己干嘛
从true变为false后可以变成true的,if(icur != json[attr]){ flag=flase;}setInterval函数不是只执行一次的,最终达到运动目标再执行setInterval函数时,此时flag=初始值也就是true ,icur==json[attr],所以flag不会变成false了
2016-05-15
已采纳回答 / 慕之光
if(icur==json[attr]){ clearInterval(obj.timer); if(fn){//上一个动作结束后,如果存在fn则调用fn fn(); } }看这段代码,同时运动时,当某个属性的当前值达到目标值时,就会关闭定时器,那么其他属性也就不得不停止运动,所以宽度达不到目标值
2016-05-14