首页 > 其他分享 >网页顶部添加阅读进度条方法(适用于任何网页)

网页顶部添加阅读进度条方法(适用于任何网页)

时间:2023-11-24 16:37:13浏览次数:27  
标签:none 网页 进度条 color 添加 background webkit progress document

第一种方法

顶部添加
直接加入html,不需要分别放到css和js里

<!-- 进度条 -->
<style>
  progress {
    /* position: fixed;
    left: 0; */
    /* right: 0; */
    /* bottom: 0; */
    /* top: 0;
    width: 100%;
    text-align: center;
    height: 0.5rem;
    border: 1px solid #999;
    border-radius: 1rem;
    z-index: 5;
    -webkit-apperance: none; */
     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;
  }


  ::-webkit-progress-bar {
    background-color: #eee;
    border-radius: 1rem;
  }

  ::-webkit-progress-value {
    background-color: #169fe6ad;
    border-radius: 1rem;
  }
</style>
<script>
  // 生成元素并添加到文档尾部
  var progress = document.createElement('progress');
  progress.id = 'progress';

  document.body.appendChild(progress);

  // 计算当前页面的高度并赋值给进度条
  var H;
  window.onload = function () {
    progress.max = H = home.scrollHeight;
    progress.value = 0;
  }

  // 监听滚动,实时计算滚动条进度值
  window.onscroll = function () {
    var h = document.documentElement.scrollTop || document.body.scrollTop;
    progress.value = h;
    var radio = (h / H >= 1) ? 1 : h / H;
    progress.innerHTML = progress.title = Math.floor(100 * radio) + '%';
  }
</script>

第二种实现方式 (推荐方法)

html加入(html+js,js也可以单独拿出来)

<!-- 顶部进度条 -->
<!-- <progress id="content_progress" value="0"></progress>

<script>
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;
      });
});
</script> -->

css

/* 顶部进度条css */
#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;
}

展示

image

标签:none,网页,进度条,color,添加,background,webkit,progress,document
From: https://www.cnblogs.com/codedingzhen/p/17854035.html

相关文章

  • pageoffice6 版本实现word 文件添加水印
    在很多场景下,Word文档正式发文之前,或者说形成最终文档之前,常常需要往Word文件中添加水印,并且会根据文件类型或内容的不同,需要添加的水印也不一样。添加水印是Word软件里的一个简单功能,直接点击Word工具栏中的水印按钮就可以手动添加,但是在Web项目开发过程中,时常会遇到通过调用程......
  • Windows平台如何实现RTSP流二次编码并添加动态水印后推送RTMP或轻量级RTSP服务
    技术背景我们在对接RTSP播放器相关的技术诉求的时候,遇到这样的需求,客户做特种设备巡检的,需要把摄像头拍到的RTSP流拉下来,然后添加动态水印后,再生成新的RTSPURL,供平台调用。真个流程需要延迟尽可能的低,分辨率要支持到1080p,并需要把添加过动态水印的数据,保存到本地。技术实现在此之......
  • 添加请求loading效果
    概述在实际开发场景中,我们需要对每一次的请求做一个loading效果,使得让用户知道正在提交中,此时需要给用户添加loading提示好处节流处理:防止用户在一次请求还没回来之前,多次进行点击,发送无效请求友好提示:告知用户,目前是在加载中,请耐心等待,用户体验会更好步骤请求拦截器中,每......
  • 如何将一个JAR包添加到Java应用程序的Boot Classpath中?
    1.在启动脚本中使用-bootstrap或-Xbootclasspath选项这两个选项的使用方式如下:-bootstrap选项:java-bootstrap/path/to/your.jar-cp/path/to/your/app.jarYourMainClass-Xbootclasspath选项:java-Xbootclasspath/a:/path/to/your.jar-cp/path/to/your/app.jarYo......
  • 软件编程 ---- 截取网页
     #从Selenium和concurrent.futures导入必要的模块和类fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionsfromconcurrent.futuresimportThreadPoolExecutorimportconcurrent.futures.thread#定义一个函数,用于捕获整个页面的截......
  • 代码动态添加组件类型、大小 、方位 (addView)
    文章目录1、功能介绍2、代码结构3、activity_main.xml文件4、功能代码1、功能介绍在代码里动态添加我们需要的组件,并确定位置大小等格式2、代码结构3、activity_main.xml文件定义两个按钮点击添加不同的组件<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns......
  • UEC++头文件添加与函数查找方法
    1.官方函数查找与应用技巧在蓝图中插入函数(中文也可以),右键能看到库名;官网也能查找函数名和使用方法;C++中使用可以将蓝图转化2.UEC++头文件添加VS编译时缺失头文件会报错,ctrl单击调用的函数,进入.h文件中查看的地址,将地址classes后面的目录用#clucde放入如下图如果报错......
  • 开源在线客服系统源码PHP(H5网页在线客服系统小程序源码uniapp全套搭建)
    现代客户服务的重要性得到了越来越多的认可。一个优质的客户服务可以使客户在购买和使用产品、寻求技术支持时获得更好的体验,从而建立起品牌声誉和客户忠诚度。为了优化客户服务体验,许多企业已经开始使用客服系统来更好地管理、响应和交互客户需求。源码:kf.zxkfym.top......
  • 【RPA学习天地】RPA爬取网页数据典型案例解析——芯片价格查询记录自动化
    关于RPA学习天地www.rpa-learning.comRPA学习天地致力于各大主流RPA厂商的产品使用培训,自2021年起,我们推出了各类RPA开发者培训课程,两年的时间已经为超过千位的RPA学员的成长保驾护航,学员成员涵盖金融、制造业、电商与零售业、物流业以及高科技行业等领域。RPA学习天地始终紧跟行业......
  • 公众号添加附件
    在内容爆炸的今天,公众号运营者常常需要在文章中附加额外的文件以提供更多信息。如何便捷地在公众号文章中添加附件?这里,我们推荐一种简单易行的方法——使用微附件小程序。微附件小程序,添加附件的新方式微附件小程序是一款专为微信公众号定制的附件添加工具,它允许用户在公众号文章中......