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