温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript中怎么实现网页加载进度条

发布时间:2021-08-09 17:15:44 来源:亿速云 阅读:175 作者:Leah 栏目:开发技术

JavaScript中怎么实现网页加载进度条,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

HTML

首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。

因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃行数中设置节点,进行大概的模糊进度反馈来实现进度加载的效果。大致意思是:页面每加载到指定区域,则返回(n)%的进度结果,通过设置多个节点,来达到一步一步显示加载进度的目的。

假如有一个页面,按区块分为页头、左侧内容、右边侧栏、页脚四部分,我们把这四部分作为四个节点,当页面加载每一个节点后,设置大概加载百分比,页面结构如下:

<p id="header"> 页头部分 </p> <p id="mainpage"> 左侧内容 </p> <p id="sider"> 右边侧栏 </p> <p id="footer"> 页脚部分 </p>

然后我们在<body>下的第一行加上进度条.loading。

<p class="loading"></p>

CSS

我们要设置loading进度条的样式,设置背景色,高度,以及位置,优先级等。

.loading{    background:#FF6100; //设置进度条的颜色    height:5px; //设置进度条的高度    position:fixed; //设定进度条跟随屏幕滚动    top:0; //将进度条固定在页面顶部    z-index:99999  //提高进度条的优先层级,避免被其他层遮挡 }

jQuery

接下来,我们要在每个节点后面加上进度动画,使用jQuery来实现。

<p id="header"> 页头部分 </p> <script type="text/javascript"> $('.loading').animate({'width':'33%'},50);  //第一个进度节点 </script> <p id="mainpage"> 左侧内容 </p> <script type="text/javascript"> $('.loading').animate({'width':'55%'},50);  //第二个进度节点 </script> <p id="sider"> 右边侧栏 </p> <script type="text/javascript"> $('.loading').animate({'width':'80%'},50);  //第三个进度节点 </script> <p id="footer"> 页脚部分 </p> <script type="text/javascript"> $('.loading').animate({'width':'100%'},50);  //第四个进度节点 </script>

可以看出,没加载一个节点后,jQuery调用animate()动画方法实现进度条宽度的变化,每个节点变化以50毫秒时间让进度条看起来更流畅些,最终从0%变化到100%,完成了进度条的进度动画。

当进度条达到100%后,页面加载完成,最后还有一步要做的就是隐藏进度条。

$(document).ready(function(){ $('.loading').fadeOut(); });

关于JavaScript中怎么实现网页加载进度条问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI