【问题标题】:Loop my Progress Bar?循环我的进度条?
【发布时间】:2013-03-26 07:15:14
【问题描述】:

我有问题。

有人可以帮助修复此代码,以便进度条在达到 100 时重新开始。

我希望您能看到工作正在进行中。现在使用我的代码,它会在达到 100 时停止。

希望你能理解我的问题。

另一种解决方案可能是一个进度条,它始终在不同的值上跳跃。唯一重要的是进度条一直在工作,直到您从页面重定向。

这是我目前进度条的代码。

$("#progressbar").progressbar();
                var value = 0;
                var timer = setInterval (function ()
                {
                  $("div#progressbar").progressbar ("value", value);
                  value++;
                  if (value > 100) clearInterval (timer);
                }, 200);

【问题讨论】:

    标签: jquery loops jquery-ui-progressbar


    【解决方案1】:

    progressBar值达到100时再次设置0怎么样?

    $("#progressbar").progressbar();
    var value = 0;
    var timer = setInterval (function (){
    $("div#progressbar").progressbar ("value", value);
        value++;
        if (value > 100) value=0;
    }, 200);
    

    【讨论】:

    • 这是一个简单的解决方案,你
    • 谢谢。这不仅是一个简单的解决方案,而且比我之前的其他代码运行得更快。
    【解决方案2】:

    当值达到 100 时,只需将值设置为 0:

    if(value > 100) value = 0;
    

    Live Demo

    您不想清除计时器,因为它会停止动画。

    当页面重定向时,所有计时器将自动清零/停止。

    【讨论】:

      【解决方案3】:

      你可以试试window.clearInterval():

      if (value > 100){
        var timer = window.clearInterval(timer);
      }
      

      【讨论】:

        【解决方案4】:

        您的 if 语句不在块内 你应该是这样的

        if(value > 100){ clearInterval(timer); } 
        

        另外我认为你想在这里重置的不是间隔而是值。所以这样做:

        if(value > 100){ value=0; }
        

        应该可以的

        【讨论】:

        • 如果您的代码是单行代码,则不需要为 if 语句设置块。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-19
        • 2020-05-08
        • 2019-01-22
        相关资源
        最近更新 更多