【问题标题】:Div value increment javascriptdiv值增量javascript
【发布时间】:2014-05-09 11:19:13
【问题描述】:

我正在尝试制作一个动画值增加到其最终值的 div。以下是来自主题森林的示例:http://demo.themesvision.com/drupal/evolve/(客户满意,项目已完成等)

我尝试了很多不同的代码行,但都没有成功。我能够进行增量,但无法弄清楚每次增量时如何进行延迟。我试过 setTimeout() 和 setInterval()。

到目前为止,这是我的代码:

$(document).ready(function(){
    test();

    function test(){
        var i = 0;
        while ( i <= 100 ) {
            $("#test").text(i);
            i++;
        }
    }
});

提前致谢!

【问题讨论】:

    标签: javascript loops while-loop delay increment


    【解决方案1】:

    你需要这样的东西:

    $(document).ready(function(){
        var i = 0;
    
        test();
    
        function test(){
            $("#test").text(i++);
            if(i < 100) {
                setTimeout(test, 500);
            }
        }
    });
    

    【讨论】:

    • 太棒了!谢谢!我想我把代码都弄乱了!
    • 别担心!前几次要搞清楚可能有点挑战。
    【解决方案2】:
    for (var i = 0; i < 100; i++) { //For loop easier than while loop
        setTimeout(function() { //SetTimeout
            document.getElementById('test').textContent++; //...Where you increment the textContent
        }, i * 20); //...At interval of 20ms
    }
    

    【讨论】:

    • 这行不通,你必须做一个递归循环。所有这些超时将同时添加
    • @megawac 超时时间不同。尝试自己运行。
    • 哦,是的,我知道我不会这样做;)
    • 但是这样堆叠xxx超时没有问题(资源来讲)?
    • @Biduleohm 不,浏览器应该能够毫不费力地处理数千次这样的超时。
    猜你喜欢
    • 2019-05-04
    • 2019-07-28
    • 1970-01-01
    • 2021-04-04
    • 2011-08-26
    • 2014-10-13
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多