1、flag=true,应该立在定时器内,json的for遍历前;
var flag=true;定义在了for-in外面,而因为json中的属性无法第一次就运动到目标值,所以flag的值一定会变为false。变为false之后,当所有的属性值都运动到目标值也没有语句使它变为true,所以fn()不会执 行。
2.if(flag){clearInterval(obj.timer);if(fn){fn()}}应该放在定时器内,json的for遍历后:
因为在循环里面的话第一个属性达到目标值后就会执行clearInterval(obj.timer),从而关闭定时器其他属性还未达成目标值
var flag=true;定义在了for-in外面,而因为json中的属性无法第一次就运动到目标值,所以flag的值一定会变为false。变为false之后,当所有的属性值都运动到目标值也没有语句使它变为true,所以fn()不会执 行。
2.if(flag){clearInterval(obj.timer);if(fn){fn()}}应该放在定时器内,json的for遍历后:
因为在循环里面的话第一个属性达到目标值后就会执行clearInterval(obj.timer),从而关闭定时器其他属性还未达成目标值
2018-01-17
已采纳回答 / Zkan
Li1.onmouseout = function () {stratMove(this, 'opacity', 30);}start拼写错误,其他没看
2018-01-15
可以用3个animate连缀完成
$(this).find("i").animate({top:"-10px",opacity:"0"},300)
.animate({top:"20px"},300)
.animate({top:"10px",opacity:"1"},300);
$(this).find("i").animate({top:"-10px",opacity:"0"},300)
.animate({top:"20px"},300)
.animate({top:"10px",opacity:"1"},300);
2018-01-09
关于完美框架链式运动的bug:var flag=true;定义在了for-in外面s定时器里面,当所有运动完成后,不会改变定时器里面开始的var flag=true ,最后执行停止定时器和下面的fn(),已用alert验证执行了fn(),但是如果再次在这里调通startMove()的话就会导致报错getStyle函数Failed to execute 'getComputedStyle'。这里再调通startMove()是obj不能再用this,这里this已经改变了目标,换成确定的obj就可以执行,亲测,有问题请指出,共勉!!!
2018-01-05
大大的问题。getComputedStyle()和currentStyle得到的都是计算后的最终样式。放在这里作为运动过程中获取变化的属性值是不恰当的。不知道大家深入考虑过没有。或者说实际敲过没有。放在浏览器上运行一下就知道不可行了。因为封装的运动函数获取的属性不确定,所以不能使用快捷位置获取初始样式,那就需要手动输入,而不是用getComputedStyle()和currentStyle去获取,可以把这个初始值作为参数传进去。
2018-01-05