使用requestFrameAnimation缩小视频

时间:2014-06-12 03:39:20

标签: javascript animation html5-canvas

我尝试使用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来触发取消操作,但这会导致视频大小调整不一致而无法正常工作;最终规模至关重要。有任何想法吗?

1 个答案:

答案 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;

}