?為什么“寬度200到400,高度100到200,;透明度30到100”的同時(shí)運(yùn)動(dòng)沒問題;而寬度到201 就有問題呢?還沒聽明白???
為什么“寬度200到400,高度100到200,;透明度30到100”的同時(shí)運(yùn)動(dòng)沒問題;而寬度到201 ?就有問題呢?還沒聽明白???求解答
為什么“寬度200到400,高度100到200,;透明度30到100”的同時(shí)運(yùn)動(dòng)沒問題;而寬度到201 ?就有問題呢?還沒聽明白???求解答
2016-07-25
舉報(bào)
2016-08-12
我來說說我的理解,不知道是不是完全正確,有不對的地方歡迎大神指出!
導(dǎo)致問題出現(xiàn)的原因:在時(shí)間上寬度首先到達(dá)了目標(biāo)值201,而其他兩個(gè)屬性這時(shí)還沒有,這時(shí)代碼運(yùn)行了清除定時(shí)器,所以還沒到達(dá)目標(biāo)值的兩個(gè)屬性也停止了運(yùn)動(dòng)。
if(icur==json[attr]){.......},這個(gè)if句式里的條件的意思就是:只要有任意一個(gè)屬性的值(即:icur)等于目標(biāo)值(即:json[attr]),那么就會(huì)執(zhí)行{........}里面的清除定時(shí)器代碼,理解這一點(diǎn),與如何理解 解決問題時(shí)為什么要引入變量var flag有非常大的關(guān)系。
解決問題:
引入變量var flag=true;
if(icur != json[attr]){ flag = false }; ?//只要有任意一個(gè)屬性的值不等于目標(biāo)值,那么定義flag=false;然后繼續(xù)執(zhí)行運(yùn)動(dòng)代碼。
if(flag){..........}; ?//如果flag=true,即每一個(gè)屬性的值都等于目標(biāo)值,那么運(yùn)行{..........}里面的清除定時(shí)器。
引入變量flag就是為了表達(dá)出 ??每一個(gè)屬性的值都等于目標(biāo)值? ?這個(gè)意思。
2016-07-25
因?yàn)閷挾饶繕?biāo)值400,還未達(dá)到之前,緊接著運(yùn)行了第二個(gè)目標(biāo)和第三個(gè)目標(biāo)值;是201時(shí),運(yùn)行時(shí)間短促,直接就被清除了定時(shí)器即動(dòng)作停止,還未來得及同時(shí)運(yùn)行下個(gè)動(dòng)作。不知道這樣理解是否正確?