點擊reset函數也調用動畫的bug處理!
這個程序有BUG,當我點擊SHOW的按鈕當圖片顯現出來后趕緊在點擊reset按鈕,動畫從新播放了,而且圖片顯現出來了!解決辦法:可以在全局定義一個動畫名稱,然后在reset函數中的時候首先調用clearInterval(函數名),這樣就沒有以上的問題了,我試了很多遍都可以,大家可以試一試
這個程序有BUG,當我點擊SHOW的按鈕當圖片顯現出來后趕緊在點擊reset按鈕,動畫從新播放了,而且圖片顯現出來了!解決辦法:可以在全局定義一個動畫名稱,然后在reset函數中的時候首先調用clearInterval(函數名),這樣就沒有以上的問題了,我試了很多遍都可以,大家可以試一試
2017-03-21
舉報
2017-04-16
可以先定義一個變量存儲定時器的狀態,
代碼可以這樣寫:
var state = false;
function reset(){
?? ?clearInterval(timer);
?? ?inintCanvas();
?? ?state = true;
}
function show(){
?? ?var timer = setInterval(function(){
?? ??? ?slippingRegion.r +=20;
?? ?draw(img,slippingRegion);
?? ?if (slippingRegion.r>= 2*Math.max(oCanvas.width,oCanvas.height)||state) {
?? ??? ?clearInterval(timer);
?? ??? ?state = false;
?? ?}
?? ?},30);
?? ?
}
2017-04-05
那是show函數情況下設置的每30毫秒增加20像素的上限沒有大于設定的上限,動畫還沒有清除的原因