Javascript 替换JS/JQuery中以前的编号

Javascript 替换JS/JQuery中以前的编号,javascript,jquery,Javascript,Jquery,我想补充一点,一些网站现在有一个效果,即喝咖啡:然后喝咖啡的数量,从0逐渐增加到N-1。这是我的尝试,如果我在控制台的第一个if语句中打印I,每个数字都会打印出来。但是,在HTML中,它立即从0到950,中间没有数字 总结一下:我希望这个数字在页面上递增,每个新的数字都会取代以前的数字 for (i = 0; i < 950; i++) { if ($("#counter").length) { setTimeout(function() { // body...

我想补充一点,一些网站现在有一个效果,即喝咖啡:然后喝咖啡的数量,从0逐渐增加到N-1。这是我的尝试,如果我在控制台的第一个if语句中打印I,每个数字都会打印出来。但是,在HTML中,它立即从0到950,中间没有数字

总结一下:我希望这个数字在页面上递增,每个新的数字都会取代以前的数字

for (i = 0; i < 950; i++) {
  if ($("#counter").length) {
    setTimeout(function() {
      // body...
      $("#counter").append('<p id = "counter">' + i + '</p>');
    }, 2000);
    console.log(i);

  } else {
    $(".coffee-drank").append('<p id = "counter">' + i + '</p>');
  }

}
(i=0;i<950;i++)的
{
if($(“#计数器”).长度){
setTimeout(函数(){
//身体。。。
$(“#计数器”).append(“

”+i+”

”); }, 2000); 控制台日志(i); }否则{ $(“.coffee adweed”).append(“

”+i+”

”); } }
如果我没有弄错你的想法,通常可以这样做:

var start=-1,end=950;
var countUp=函数func(){
如果(开始>=结束)返回;
var elem=document.getElementById(“计数器”);
elem.innerText=++开始;
设置超时(func,25);
}
倒计时()
最多可计数950:

0
如果我没有弄错你的想法,通常可以这样做:

var start=-1,end=950;
var countUp=函数func(){
如果(开始>=结束)返回;
var elem=document.getElementById(“计数器”);
elem.innerText=++开始;
设置超时(func,25);
}
倒计时()
最多可计数950:

0
用以下内容替换for循环:

var speed = 16; // Lower is faster
increase(0, 950);
function increase(i, max){
    if(i <= max){
        if ($("#counter").length) {
            $("#counter").html(i);
        } else {
            $(".coffee-drank").append('<p id = "counter">' + i + '</p>');
        }
        setTimeout(function(){
            increase(++i, max);
        }, speed);
    }
}
var速度=16;//越低越快
增加(0950);
功能增加(i,最大值){

如果(i用以下内容替换for循环:

var speed = 16; // Lower is faster
increase(0, 950);
function increase(i, max){
    if(i <= max){
        if ($("#counter").length) {
            $("#counter").html(i);
        } else {
            $(".coffee-drank").append('<p id = "counter">' + i + '</p>');
        }
        setTimeout(function(){
            increase(++i, max);
        }, speed);
    }
}
var speed=16;//越低速度越快
增加(0950);
功能增加(i,最大值){


如果(我添加了超时。它按预期增加,但速度很快。我尝试过,已经做了相同的事情=/但速度较慢,从0到949,速度非常慢。那么你想要什么?它应该替换以前预期的数字吗?是的,预期的。请确认。你预期数字从0到949,它做到了。其他读取超时是什么。它正在增加正如预期的那样,但要快速查看我尝试过,已经做了相同的事情=/但速度稍慢,从0到949,速度非常慢。那么你想要什么?它应该取代之前预期的数字?是的,预期的请确认。你预期数字从0到949,它做到了。还有什么有用的,知道我当前的实现为什么会这样做无法正常工作?您需要一个计时器。如果没有计时器,循环将立即开始-从0到950的所有值将在一瞬间传递。我使用添加的计时器进行编辑,仍然无法正常工作。出于某种原因,我相信当它输入第一个if语句时,它会不断返回I作为950,而不是1,2,3,4…您不需要outer cycle和if语句基于长度;相反,您必须通过
设置超时(倒计时,500);
我更新了答案,请查看。虽然很难说在目标数字(950)之后应该做什么已达到,因为我们不知道整个设置和上下文。了解当前实现无法正常工作的原因将非常有用。您需要一个计时器。如果没有计时器,周期将立即生效-从0到950的所有值将在一瞬间传递。我已使用添加的计时器进行编辑,但仍然不起作用。出于某种原因,我相信在输入第一个if语句时,它不断返回i作为950,而不是1,2,3,4…您不需要基于长度的外部循环和if语句;相反,您必须通过
setTimeout(倒计时,500)开始整个过程;
我更新了我的答案,请查看。虽然很难说在达到目标号码(950)后应该做什么,因为我们不知道整个设置和上下文。