自己动手制作基于jQuery的Web页面加载进度条插件


Posted in Javascript onJune 03, 2016

静态效果的实现

网页顶部加载进度条,近年来很流行,很多网站都采用了这种加载方式。网上也有这样类似的插件,今天我们总结一下网页顶部线性页面加载进度条。
大体的写法如下:

body{
        margin:0;
      }
      #progress {
        position:fixed;
        height: 2px;
        background:#2085c5;
        transition:opacity 500ms linear
      }
      #progress.done {
        opacity:0
      }
      #progress span {
        position:absolute;
        height:2px;
        -webkit-box-shadow:#2085c5 1px 0 6px 1px;
        -webkit-border-radius:100%;
        opacity:1;
        width:150px;
        right:-10px;
        -webkit-animation:pulse 2s ease-out 0s infinite;
      }

      @-webkit-keyframes pulse {
        30% {
          opacity:.6
        }
        60% {
          opacity:0;
        }
        100% {
          opacity:.6
        }
}

html代码:

<div id="progress">
      <span></span>
</div>

jquery代码:

$({property: 0}).animate({property: 100}, {
        duration: 3000,
        step: function() {
          var percentage = Math.round(this.property);

          $('#progress').css('width', percentage+"%");

           if(percentage == 100) {
              $("#progress").addClass("done");//完成,隐藏进度条
            }
        }
});

设定其持续时间是3秒钟!你可以改动一下,把3秒钟的时间改成你网页的加载时间,就可以做出网页动态加载进度条了。。

页面加载插件的实际应用及load函数的运用
关于页面的加载,很难找到一个很好的方法来获取页面的实际下载进度。下面介绍的方法是运用 $(window).load(function() {})和$(document).ready(function(){})来进行的,虽然这种方法不是很准确,但是也可以模拟网页的下载。

$(function(){
NProgress.start();
})

$(window).load(function() {
  NProgress.done();
})

有很多朋友可能对 $(window).load(function() {})和$(document).ready(function(){})的区别不是很了解。大家可以写一个小案例来测试一下!

例如:

$(window).load(function() {
  alert("我是load")
})
$(function(){
 alert("我是document.ready")
})

很明显,肯定是document.ready先执行,因为document.ready是在DOM结构载入完后执行的,不需要载入得这么“完全”,而$(window).load则是页面全部内容加载完成后执行的。

有时候,

$(window).load(function() {
  alert("我是load")
})

也可以用js的写法:

window.onload = function(){ ... }

都是在页面全部下载完成之后来执行的。两种写法是等价的!

Javascript 相关文章推荐
自动更新作用
Oct 08 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
Oct 21 Javascript
利用javascript实现web页面中指定区域打印
Oct 30 Javascript
jQuery控制控件文本的长度的操作方法
Dec 05 Javascript
jQuery基本选择器和层次选择器学习使用
Feb 27 Javascript
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 Javascript
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
javascript事件监听与事件委托实例详解
Aug 16 Javascript
JS+CSS实现过渡特效
Jan 02 Javascript
JS实现图片的不间断连续滚动的简单实例
Jun 03 #Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
Jun 03 #Javascript
js不间断滚动的简单实现
Jun 03 #Javascript
Ionic如何创建APP项目
Jun 03 #Javascript
Ionic快速安装教程
Jun 03 #Javascript
Ionic如何实现下拉刷新与上拉加载功能
Jun 03 #Javascript
简单了解JavaScript操作XPath的一些基本方法
Jun 03 #Javascript
You might like
PHP与SQL语句常用大全
2016/12/10 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
python中关于for循环的碎碎念
2017/06/30 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
python实现双色球随机选号
2020/01/01 Python
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
致100米运动员广播稿
2014/02/14 职场文书
元旦联欢会感言
2014/03/04 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
2014年新生军训方案
2014/05/01 职场文书
旷工检讨书大全
2015/08/15 职场文书
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏