首页 > web前端 > js教程 > 正文

如何用js脚本实现页面滚动进度条_js滚动进度显示脚本编写方法

雪夜
发布: 2025-11-15 08:33:05
原创
1009人浏览过
页面滚动进度条通过JavaScript监听滚动事件,计算滚动比例并更新顶部进度条宽度实现。1. 创建固定在顶部的div作为进度条;2. 用CSS设置其样式和定位;3. JS中通过pageYOffset、scrollHeight和innerHeight计算滚动百分比;4. 使用requestAnimationFrame优化性能,避免频繁触发。正确计算可滚动范围确保进度条从0%平滑到100%。

如何用js脚本实现页面滚动进度条_js滚动进度显示脚本编写方法

页面滚动进度条能直观显示用户当前浏览位置,提升体验。用 JavaScript 实现很简单,只需监听滚动事件,动态更新进度条的宽度即可。

1. 创建进度条结构

在页面顶部添加一个用于显示进度的元素,通常是一个固定在顶部的细条。

使用 CSS 设置样式,让它始终显示在页面最上方。

#progress-bar {
  height: 4px;
  background: #007cba;
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  z-index: 9999;
}

2. 编写 JS 滚动监听脚本

通过计算当前滚动高度与总可滚动高度的比例,得出进度百分比。

<script><br> <a style="color:#f60; text-decoration:underline;" title= "win"href="https://www.php.cn/zt/19041.html" target="_blank">window.addEventListener('scroll', function() {<br> const scrollTop = window.pageYOffset;<br> const docHeight = document.documentElement.scrollHeight;<br> const winHeight = window.innerHeight;<br> const scrollPercent = scrollTop / (docHeight - winHeight);<br> const scrollPercentage = scrollPercent * 100;<br><br> document.getElementById("progress-bar").style.width = scrollPercentage + "%";<br> });<br> </script>

说明:

触发式加载精美特效企业网站源码1.0.0
触发式加载精美特效企业网站源码1.0.0

触发式加载精美特效企业网站源码使用jquery实现了很多精美的触发式加载特效,网站首页在随着访客的滚动条滚动过程中会出现很多触发式加载的特殊效果,让这个网站的风格瞬间显得非常的高大上,让你的企业品牌在访客心中留下更深的影响。当然,我们在使用jquery特效的同时也要注意程序对搜索引擎的友好型,所以这一点儿作者也有考虑到,已经尽可能的对js和css脚本进行精简和优化,尽可能的加快网站加载速度,同时也

触发式加载精美特效企业网站源码1.0.0 0
查看详情 触发式加载精美特效企业网站源码1.0.0
  • pageYOffset 获取垂直滚动距离
  • scrollHeight 是整个文档高度
  • innerHeight 是可视窗口高度
  • 可滚动的最大值是 scrollHeight - innerHeight

3. 优化性能(可选)

频繁触发 scroll 事件可能影响性能,可以用节流或 requestAnimationFrame 优化。

let ticking = false;
window.addEventListener('scroll', function() {
  if (!ticking) {
    requestAnimationFrame(function() {
      const scrollTop = window.pageYOffset;
      const docHeight = document.documentElement.scrollHeight - window.innerHeight;
      const scrollPercent = docHeight === 0 ? 0 : scrollTop / docHeight;
      document.getElementById("progress-bar").style.width = scrollPercent * 100 + "%";
      ticking = false;
    });
    ticking = true;
  }
});

这样可以避免重复计算,提高流畅度。

基本上就这些。不复杂但容易忽略细节,比如总高度减去视口高度才是实际可滚动范围。正确计算才能让进度条从 0% 平滑走到 100%。

以上就是如何用js脚本实现页面滚动进度条_js滚动进度显示脚本编写方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号