我试图缩小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来触发cancel操作,但这会导致视频大小不一致,这是不起作用的;终端大小至关重要。有什么想法吗?
发布于 2014-06-12 04:07:05
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;
}https://stackoverflow.com/questions/24176082
复制相似问题