我使用以下方式设置对象的简单动画:
$("#progress").animate({width:400},2000)
我还想查看它的宽度
$("#loadingpro").html(pro+"%");
pro = Math.round(procent$("#progress").width()/4);
但是,当我这样做时,它开始推迟整个cpu,以至于根本不可能这样做。
我有什么想法可以尝试以其他方式做到这一点吗?
答案 0 :(得分:2)
您可以使用 setInterval()
和 clearInterval()
。玩这个间隔以使其顺利进行。 ~20微秒对我有用:
$(function() {
var timer = setInterval(function() {
$("#loadingpro").html(Math.round($("#progress").width()/4) + "%");
},20);
$("#progress").animate({width:400},2000, function() {
clearInterval(timer);
});
});
.setInterval()
是一个不错的选择,因为一旦完成所有计算,您就可以在 animate()
回调中使用clearInterval()
停止它。