jquery - 页面进度条

标签 jquery html css

我的客户希望在初始页面加载时有一个进度条。并在页面加载后立即隐藏它。 所以我考虑了一下,想出了这个办法。

var num = 0,
    progress = $('.progressbar'),
    interval = setInterval(function(){
        num++
        progress.text(num+'%')
    }, 100);

$(window).load(function(){
    clearInterval(interval);
    $({number: num}).animate({number: 100}, { 
      duration: 1000,
      easing:'swing', 
      step: function() { 
          progress.text(Math.round(this.number)+"%");
      }
    })
})

Demo (我添加了一张大图来显示加载)

为了减少在 dom load 之前数字达到 100 的可能性,我唯一能想到的是添加一些 if 来检查数字是否例如 50% 并减少间隔重复值,我猜 75% 也是一样,但我觉得它不是很聪明。

我的问题几乎是——“有没有更聪明的方法来做到这一点?”

最佳答案

只是一个想法,我相信您已经考虑过 jQuery 进度条。

我在 Code Academy 上发现了这个概念并制作了这个 FIDDLE .

JS

var mybar = $(".progressbar").progressbar({value: 1});

var progress = setInterval(function() {
                                       updateprog();
                                       }, 10
                          );

function updateprog ()
{
      var currentVal = $(".progressbar").progressbar("option", "value");
       var nextVal = currentVal + 1;
       if (nextVal > 100)
          {
           $(mybar).hide();
           clearInterval(progress);
           } else
          {
           $(".progressbar").progressbar({value: nextVal});
           }
}

我没有设置任何样式,但这应该相当简单。

关于jquery - 页面进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966754/

相关文章:

javascript - 为什么更改文本区域会阻止使用 AJAX 将内容加载到其中?

javascript - 将 SmoothState.js 与 Wordpress 结合使用,但维护主体类

html - 引用标签不会在 Chrome 中使文本变为斜体

javascript - 如何编写一个使用 HTML 和 CSS 作为用户界面并使用 python/perl/c++/java 进行处理的桌面应用程序?

javascript - 将 html 标签显示为文本

javascript - jQuery fadeIn fadeOut 点击

javascript - 单击时 JQuery 不工作

css - 左右列div

html - Div 中的元素不会居中

css - 在 jquery mobile 中显示平面按钮