前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超简单实现WEB页面顶部阅读进度条

超简单实现WEB页面顶部阅读进度条

原创
作者头像
俗可耐
修改2018-08-29 19:39:35
2.9K3
修改2018-08-29 19:39:35
举报
文章被收录于专栏:俗人笔记

导语

网页顶部的加载进度条非常常见,像Youtube和Github上都有见到。最近经常浏览一些文字类的网页,而在移动端的浏览器,右侧的滚动条有时会自动隐藏很不显眼,想随时知道大概还剩多少内容就比较麻烦。所以就想着在页面顶部增加一个进度条。

示例

请点击查看演示 👉 狂人日记

示例截图
示例截图

实现

其实使用progress标签实现起来很简单,只需以下代码即可完成功能。

HTML

代码语言:txt
复制
<progress id="content_progress" value="0"></progress>

CSS

代码语言:txt
复制
#content_progress {
      /* Positioning */
      position: fixed;
      left: 0;
      top: 0;
      z-index: 1000;
      width: 100%;
      height: 2px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      border: none;
      background-color: transparent;
      color: #35a935;
}

#content_progress::-webkit-progress-bar {
      background-color: transparent;
}

#content_progress::-webkit-progress-value {
      background-color: #35a935;
}

#content_progress::-moz-progress-bar {
      background-color: #35a935;
}

JavaScript

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', function () {
      var winHeight = window.innerHeight,
            docHeight = document.documentElement.scrollHeight,
            progressBar = document.querySelector('#content_progress');
      progressBar.max = docHeight - winHeight;
      progressBar.value = window.scrollY;

      document.addEventListener('scroll', function () {
            progressBar.max = document.documentElement.scrollHeight - window.innerHeight;
            progressBar.value = window.scrollY;
      });
});

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导语
  • 示例
  • 实现
    • HTML
      • CSS
        • JavaScript
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档