动画时如何查看元素的宽度?

时间:2010-10-03 16:20:13

标签: jquery html width jquery-animate

我使用以下方式设置对象的简单动画:

$("#progress").animate({width:400},2000)

我还想查看它的宽度

$("#loadingpro").html(pro+"%");

pro = Math.round(procent$("#progress").width()/4);

但是,当我这样做时,它开始推迟整个cpu,以至于根本不可能这样做。

我有什么想法可以尝试以其他方式做到这一点吗?

1 个答案:

答案 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);
    });
});​

jsFiddle example


.setInterval()是一个不错的选择,因为一旦完成所有计算,您就可以在 animate() 回调中使用clearInterval()停止它。