自己动手制作基于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 相关文章推荐
javascript 多级checkbox选择效果
Aug 20 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
May 26 Javascript
用C/C++来实现 Node.js 的模块(二)
Sep 24 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
AngularJS学习笔记之TodoMVC的分析
Feb 22 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
JavaScript函数基础详解
Feb 03 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
vue中路由验证和相应拦截的使用详解
Dec 13 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 Javascript
详解小程序如何动态绑定点击的执行方法
Nov 26 Javascript
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
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正则获取页面所有图片地址
2016/03/23 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python动态文本进度条的实例代码
2020/01/22 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android