html滚动条样式代码(html自定义滚动条设置) -九游会ag

html滚动条样式代码(html自定义滚动条设置)

作为一个前端工程师,在建设自己的网站的时候,肯定有一个冲动,就是把各个模块按照自己的意愿进行的diy设计。比如,在浏览器滚动的时候,为页面设计一个漂亮的滚动进度条。根据滚动的距离,来动态地展示已经滚动的进度。

今天分享一个很只需要几行代码就能搞定的彩虹滚动进度条。大致的样子如下图所示。

html滚动条样式代码(html自定义滚动条设置)

其实这个功能说来也非常简单,核心就是将页面监听滚动距离能够滚动的距离的百分比赋值给进度条的width属性。

将progress的dom固定定位到top:0的位置,宽度设置为0%,因为要做彩虹的颜色,就设置了7个dom设置不同的颜色,把它们的一眼的高度属性提出来,设置了一个统一的css变量。

<div id="progress-bar"> <div id="red">div> <div id="orange">div> <div id="yellow">div> <div id="green">div> <div id="blue">div> <div id="indigo">div> <div id="purple">div>div>
:root { --progress-bar-height: 10px;}#progress-bar { width: 0%; position: fixed; top: 0; left: 0;}#red { background-color: #ff0000; height: var(--progress-bar-height);}// 其他颜色...

在开始之前先普及一个知识点,那就是scrollheight、clientheight和scrolltop这三个属性各代表什么。

  1. document.body.clientheight就是网页可见区域
  2. document.body.scrollheight就是网页的总高度
  3. document.body.scrolltop就是已经滚动的距离

而我们要做的就是,先找到整个页面能够滚动的距离,那就是上面的第二项数值减去第一项的数值。

const needscroll = document.body.scrollheight - document.documentelement.clientheight;

之后监听滚动scroll事件,来获取当前滚动的距离。document.body.scrolltop就是滚动条向下滚动的距离,也可以说是元素顶部被遮住部分的高度。

window.addeventlistener('scroll', () => { const havescrolled = document.body.scrolltop || document.documentelement.scrolltop;})

最后通过求出滚动的百分比,赋值给progress的width属性即可。

progressbar.style.width = havescrolled / needscroll * 100   '%';

这样就能得到效果了,这里只简述原理,更多的效果、适配就不再多说。其实,我们不仅仅能做成一个横向的进度条,我们也可以将他做成一个圆环,或者像安卓手机充电时的效果等等,这些就靠我们自己发挥奇思妙想了。

派优网部分新闻资讯、展示的图片素材等内容均为用户自发上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习交流。用户通过本站上传、发布任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的九游会ag的版权,请联系九游会ag一经核实,立即删除。并对发布账号进行封禁。
(0)
发布专员的头像发布专员

相关推荐

  • 今天给大家分享一个在家就可以做客服的小副业——阿里云客服,阿里云客服是每个月15号开始招聘人员。 这个阿里云客服相比其他传统客服的优势就是工作地点和时间比较自由,我们在家就可以做客…

    2022年10月21日 资讯投稿
  • 前言:在河南一个小县城中,一位小姐姐家的房子,建筑面积116平米,套内90平,花10万装修的家,没有跟风一些网红的家装风格,把家装成了自己理想的样子。 看多了各种现代简约的风格,看…

    2023年8月7日 资讯投稿
  • 汽车作为一种出行工具,对于我们的生活来说是非常重要的。但是,随着油价的不断上涨,我们的汽车行驶成本也在不断增加。那么,如何计算汽车行驶成本呢?本文将为大家详细介绍。 一、油耗的计算…

    2023年6月11日
  • 目前,微信群聊是不可以禁言的,但可以踢出群聊,点击右上角的“…”图标,进入群设置界面 在群设置界面,点击“-”,进入成员界面,选择要删除的成员,点击“删除”,即可踢出群聊。 或者打…

    2023年6月10日
  • 农业托管是一种新型的农业经营模式,在现代农业发展中越来越受到关注。农业托管是指由专业的托管公司或个人,将自己拥有的农业土地或农业项目交由专业化的管理团队进行经营,以达到提高农业生产…

    2023年9月12日
  • 淘宝美工如何自学?美工ps自学首先学什么

    今天小编教你如何使用在线工具乔拓云,零门槛就能学会电商美工的详情页设计,还不用下载软件,只需登入工具平台使用在线模板编辑,就能在线制作一个电商详情页。下面就跟着小编的教程学习制作详…

    2022年12月19日 资讯投稿
  • 招聘计划书范文1 一、招聘人数及工种 根据公司在职人员离职产生的岗位空缺和公司20x年生产规模的扩大,现确定招聘工种及人数。(如下) 部门名称 需要工种 需要人数(男/女) 合计 …

    2023年4月13日
  • 通过手机银行存定期存款安全。 一、只要是定期存款,通过哪种渠道存款都安全 通过手机银行办理的定期存款,和在银行网点办理的一样,属于银行存款类科目,为一般性存款。 “存款自由、取款有…

    2022年11月22日
  •     在日常生活中,我们经常会遇到各种快递问题,其中之一就是快递在菜鸟驿站被他人误领或故意拿走。这种情况不仅给收件人带来不便,还可能造成经…

    2024年9月1日
  • 滴滴司机如何申请注册?许多有上海私家车的朋友希望通过跑滴滴挣些钱来补贴家庭开支,毕竟今年这钱也不好挣,也有一部分朋友希望成为全职滴滴司机,但不知道该怎么注册滴滴车主?今天“网约车客…

    2021年12月6日
返回顶部
网站地图