我尝试使用requestFrameAnimation在按键时缩小视频50%。这就是我所拥有的,但是一旦达到所需的尺寸,收缩就不会停止。
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 :(得分:0)
javascript中的所有数字都是浮点数。
这意味着像v.width==WIDTH*0.50
这样的精确测试会失败,因为javascript数字过于精确。
相反,测试v.width是否超过WIDTH的一半:
function shrink_video(){
if(v.width>WIDTH*0.50){
requestAnimationFrame(shrink_video);
}
v.width -= WIDTH*0.001;
}