2014-06-12 70 views
0

我試圖在使用requestFrameAnimation進行按鍵時將視頻縮小50%。這是我所擁有的,但是一旦達到所需的尺寸,收縮不會停止。使用requestFrameAnimation縮小視頻

function shrink_video(){ 

if(v.width == WIDTH * 0.5){ 
shrink = false; 
} 

var shrink_value = WIDTH * 0.001; 

if(shrink){ 
v.width -= shrink_value; 
} 

requestAnimFrame(shrink_video); 
} 

我想我需要調用cancelAnimationFrame,但我不知道如何去做基於視頻大小。我考慮使用setTimeout來觸發取消操作,但這會導致不一致的視頻調整大小,這將不起作用;最終尺寸至關重要。有任何想法嗎?

回答

0

javascript中的所有數字都是浮點數。

這意味着像v.width==WIDTH*0.50這樣的精確測試將會失敗,因爲javascript數字的精度過高。

相反,測試,如果v.width超過半寬:

function shrink_video(){ 

    if(v.width>WIDTH*0.50){ 
     requestAnimationFrame(shrink_video); 
    } 

    v.width -= WIDTH*0.001; 

} 
+0

YES!非常感謝。我沒有意識到精度會是一個問題,所以這很好理解! – Rooncicle