1、flag=true,應(yīng)該立在定時器內(nèi),json的for遍歷前;
var flag=true;定義在了for-in外面,而因為json中的屬性無法第一次就運動到目標值,所以flag的值一定會變?yōu)閒alse。變?yōu)閒alse之后,當所有的屬性值都運動到目標值也沒有語句使它變?yōu)閠rue,所以fn()不會執(zhí) 行。
2.if(flag){clearInterval(obj.timer);if(fn){fn()}}應(yīng)該放在定時器內(nèi),json的for遍歷后:
因為在循環(huán)里面的話第一個屬性達到目標值后就會執(zhí)行clearInterval(obj.timer),從而關(guān)閉定時器其他屬性還未達成目標值
var flag=true;定義在了for-in外面,而因為json中的屬性無法第一次就運動到目標值,所以flag的值一定會變?yōu)閒alse。變?yōu)閒alse之后,當所有的屬性值都運動到目標值也沒有語句使它變?yōu)閠rue,所以fn()不會執(zhí) 行。
2.if(flag){clearInterval(obj.timer);if(fn){fn()}}應(yīng)該放在定時器內(nèi),json的for遍歷后:
因為在循環(huán)里面的話第一個屬性達到目標值后就會執(zhí)行clearInterval(obj.timer),從而關(guān)閉定時器其他屬性還未達成目標值
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
關(guān)于完美框架鏈式運動的bug:var flag=true;定義在了for-in外面s定時器里面,當所有運動完成后,不會改變定時器里面開始的var flag=true ,最后執(zhí)行停止定時器和下面的fn(),已用alert驗證執(zhí)行了fn(),但是如果再次在這里調(diào)通startMove()的話就會導致報錯getStyle函數(shù)Failed to execute 'getComputedStyle'。這里再調(diào)通startMove()是obj不能再用this,這里this已經(jīng)改變了目標,換成確定的obj就可以執(zhí)行,親測,有問題請指出,共勉?。?!
2018-01-05
大大的問題。getComputedStyle()和currentStyle得到的都是計算后的最終樣式。放在這里作為運動過程中獲取變化的屬性值是不恰當?shù)摹2恢来蠹疑钊肟紤]過沒有。或者說實際敲過沒有。放在瀏覽器上運行一下就知道不可行了。因為封裝的運動函數(shù)獲取的屬性不確定,所以不能使用快捷位置獲取初始樣式,那就需要手動輸入,而不是用getComputedStyle()和currentStyle去獲取,可以把這個初始值作為參數(shù)傳進去。
2018-01-05