Javascript jQuery animate()不';我不能完成动画制作

Javascript jQuery animate()不';我不能完成动画制作,javascript,jquery,animation,Javascript,Jquery,Animation,我有一个问题,jQuery的animate()函数没有完成计数动画的动画制作。动画的计数范围应该是从0到5000,但刷新时,有时会在4999结束,有时会在4989结束,等等 它80%的时间正常工作,但20%的时间刷新页面时,动画以不同的数字结束。我做错了什么 (不断刷新页面以查看它)问题是,您需要设置1000毫秒的动画。根据cpu的不同,它可能无法在该时间内计算5000次。您可以将其设置更长时间的动画,并在满足条件时使用以停止动画。不保证对每个中间值调用步骤()函数,而是对动画的每个步骤(可以通

我有一个问题,jQuery的
animate()
函数没有完成计数动画的动画制作。动画的计数范围应该是从0到5000,但刷新时,有时会在4999结束,有时会在4989结束,等等

它80%的时间正常工作,但20%的时间刷新页面时,动画以不同的数字结束。我做错了什么


(不断刷新页面以查看它)

问题是,您需要设置1000毫秒的动画。根据cpu的不同,它可能无法在该时间内计算5000次。您可以将其设置更长时间的动画,并在满足条件时使用以停止动画。

不保证对每个中间值调用
步骤()
函数,而是对动画的每个步骤(可以通过超时或请求来定义)。因此,最终值5000并不总是构成动画步骤

为了确保它能够执行,您可以将每一步函数分配给
done
回调:

$(thing).animate({
  // ...
  step: myStepFunction,
  done: myStepFunction
});
例如,

在不使用jQuery的情况下尝试:

var count = 0;
var counter = setInterval(countUp, 1);
var output = document.querySelector("[data-value]");
var max = output.getAttribute("data-value");

function countUp() {
    count = count + 25;
    if (count > max) {
        clearInterval(counter);
        return;
    }
    output.innerHTML = count;
}

哇,这太过分了。您应该使用最简单的方法来实现这一点,即香草javascript。这样的事情让我相信,框架正在损害人们在编程过程中的利益。所以,请切换到Perhapes,一秒钟不足以调用commaSeparateNumber()5000次。两秒钟后,每次都会达到5000。胡说八道,jsbin似乎已经下降了。我稍后再试。