js进度条源码下载—js进度条代码
程序员文章站
2023-08-24 18:06:11
现在很多网站会用到进入网站特效,到网页没有加载完成的时候,会有一个loding特效,加载完了之后才能看到页面,今天就带着做一个js进度条效果,今天要做的效果是纯js进度条加载,没有用到框架,方便大家进行深入理解: 首先我们要进行js进度条的布局 js进度条布局如下: 1234567891011121 ......
现在很多网站会用到进入网站特效,到网页没有加载完成的时候,会有一个loding特效,加载完了之后才能看到页面,今天就带着做一个js进度条效果,今天要做的效果是纯js进度条加载,没有用到框架,方便大家进行深入理解:
首先我们要进行js进度条的布局
js进度条布局如下:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
</script>
<style type="text/css" id='css'> #progress { position: fixed; background: #000; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; } #progress p { width: 0px; height: 30px; border-radius: 3px; background: #ffcccc; color: #330000; font-size: 14px; font-weight: bold; line-height: 30px; text-align: center; overflow: hidden; font-family: 'microsoft yahei'; position: absolute; top: 50%; left: 50%; margin-top: -15px; margin-left: -250px; } body { overflow: hidden; } </style> </head> <body> <div id='progress'> <p>0%</p> </div> </body> |
写完了之后,就要开始写js进度条加载的js代码了,代码如下:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
var op = document.getelementbyid('progress').getelementsbytagname('p')[0];
var ocss = document.getelementbyid('css'); function move(num) { clearinterval(op.timer); op.timer = setinterval(function () { if (parseint(op.innerhtml) < num) { var s = parseint(op.innerhtml) + 1; var w = 500 * s / 100; op.innerhtml = s + '%'; op.style.width = w + 'px'; } else { clearinterval(op.timer); if (num == 100) { op.parentnode.parentnode.removechild(op.parentnode); ocss.parentnode.removechild(ocss); var oscript = document.getelementsbyclassname('pmove'); var length = oscript.length for (var i = length - 1; i >= 0; i--) { oscript[i].parentnode.removechild(oscript[i]); } } } }, 10); }; </script> |
因为考虑到js执行是有先后的顺序的,这里大家一定要注意才行
js进度条全部源码展示:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
<style type="text/css" id='css'>
#progress { position: fixed; background: #000; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; } #progress p { width: 0px; height: 30px; border-radius: 3px; background: #ffcccc; color: #330000; font-size: 14px; font-weight: bold; line-height: 30px; text-align: center; overflow: hidden; font-family: 'microsoft yahei'; position: absolute; top: 50%; left: 50%; margin-top: -15px; margin-left: -250px; } body { overflow: hidden; } </style> </head> <body> <div id='progress'> <p>0%</p> </div> <script> //js进度条代码 var op = document.getelementbyid('progress').getelementsbytagname('p')[0]; var ocss = document.getelementbyid('css'); function move(num) { clearinterval(op.timer); op.timer = setinterval(function () { if (parseint(op.innerhtml) < num) { var s = parseint(op.innerhtml) + 1; var w = 500 * s / 100; op.innerhtml = s + '%'; op.style.width = w + 'px'; } else { clearinterval(op.timer); if (num == 100) { //js进度条代码等于100表示加载完成 op.parentnode.parentnode.removechild(op.parentnode); ocss.parentnode.removechild(ocss); var oscript = document.getelementsbyclassname('pmove'); var length = oscript.length for (var i = length - 1; i >= 0; i--) { oscript[i].parentnode.removechild(oscript[i]); } } } }, 10); }; </script> </body> <script class='pmove'> move(100); //执行到body,表示js进度条已经加载完成,遮罩层退场 </script> |
js进度条原理解析:
这里我们可以看到,进度条默认是0开始的,每走到一个地方,就会执行一个move函数,函数中有个数值,这个数值其实就是进度条走了多少了,我们可以去这样的分析,因为网站源代码是从上往下依次加载的,所以我们是不是就可以认为,让网页加载完成之后,页面加载进度就是100%了呢,我们在后面加上一个move(100),正好就是执行完了,所以这个方法是非常巧妙的。
js进度条截取的图片如下:
下一篇: python生成验证码图片代码分享