您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

js中如何自定义滚动条(附代码)

2025/10/14 8:31:54发布20次查看
本篇文章给大家带来的内容是关于js中如何自定义滚动条(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
鼠标滚轮事件
firefox : dommousescroll
e.detail   向下滚动为 3     向上滚动 -3
非firefox : onmousewheel
e.wheeldelta  向下滚动-120     向上滚动120
自定滚动条源码
<!doctype html><html lang=""><head> <meta charset="utf-8"> <title></title> <style> * { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } #box { width: 100%; height: 100%; overflow: hidden; } .ball { width: 100%; height: 500px; } #scroll { width: 6px; height: 96%; position: fixed; top: 2%; right: 5px; border-radius: 3px; background-color: rgba(235, 233, 233, 0.5); z-index: 9998; opacity: 1; } #scrollbar { position: absolute; z-index: 9999; width: 6px; height: 20px; border-radius: 3px; left: 0; top: 0; background-color: #383838; } </style> </head> <body style="overflow:hidden;"> <div id="box"> <div id="content"> <p class="ball" style="background-color:lightpink;"></p> <p class="ball" style="background-color:blue;"></p> <p class="ball" style="background-color:yellow;"></p> <p class="ball" style="background-color:lightpink;"></p> <p class="ball" style="background-color:blue;"></p> <p class="ball" style="background-color:yellow;"></p> </div> </div> <div id="scroll"> <div id="scrollbar"></div> </div></body></html><script type="text/javascript"> var content = document.getelementbyid("content"); var box = document.getelementbyid("box"); var scroll = document.getelementbyid("scroll"); var scrollbar = document.getelementbyid("scrollbar"); var data = 30; // 浏览器的可视高度减/页面的总高度*滚动栏的总高度=滚动按钮的高度 var _eight; window.onresize = function (){ init(); } function init (){ _height = window.innerheight * scroll.offsetheight / content.offsetheight; scrollbar.style.height = _height + "px"; } init(); //火狐 box.addeventlistener("dommousescroll", function (e) { var e = e || event; if (e.detail > 0) {//向下滚动 box.scrolltop += data; } else {//向上滚动 box.scrolltop -= data; } //浏览器的滚动距离/(页面的总高度-浏览器的可视高度)* (滚动栏的总高度-滚动按钮的高度)= 滚动的距离 var _top = box.scrolltop * (scroll.offsetheight - scrollbar.offsetheight) / (content.offsetheight - window.innerheight); scrollbar.style.top = _top + "px"; }); //非火狐 box.addeventlistener("mousewheel", function (e) { var e = e || event; if (e.wheeldelta > 0) {//向上滚动 box.scrolltop -= data; } else {//向下滚动 box.scrolltop += data; } //浏览器的滚动距离/(页面的总高度-浏览器的可视高度)* (滚动栏的总高度-滚动按钮的高度)= 滚动的距离 var _top = box.scrolltop * (scroll.offsetheight - scrollbar.offsetheight) / (content.offsetheight - window.innerheight); scrollbar.style.top = _top + "px"; }); </script>
相关推荐:
js实现的页面自定义滚动条效果_javascript技巧
原生js封装自定义滚动条的代码案例分享
以上就是js中如何自定义滚动条(附代码)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product