时间:2021-05-26
本文实例为大家分享了js自定义滚动条的实现的具体代码,供大家参考,具体内容如下
描述:
自定义滚动条的实现
效果:
实现:
<!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; font-size:100px; font-weight:bold; color: skyblue; text-align: center; line-height:500px; } #scroll { width: 20px; height: 96%; position: fixed; top: 2%; right: 5px; border-radius: 10px; background-color: rgba(235, 233, 233, 0.5); z-index: 9998; opacity: 0; } #scrollBar { position: absolute; z-index: 1; width: 20px; height: 40px; border-radius: 10px; left: 0; top: 0; background-color: red;opacity: 0.6; } </style></head> <body style="overflow:hidden;"><div id="box"> <div id="content"> <!--//营造div色块交替的感觉--> <p class="ball" style="background-color:#656565;">1</p> <p class="ball" style="background-color:#ffffff;">2</p> <p class="ball" style="background-color:#656565;">3</p> <p class="ball" style="background-color:#ffffff;">4</p> <p class="ball" style="background-color:#656565;">5</p> <p class="ball" style="background-color:#ffffff;">6</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 Step = { value : 0, size : 20, maxVal : Math.ceil((content.offsetHeight-document.body.offsetHeight)/20), getCurrentVal:function(){ return this.value; }, next:function(){ if(this.value==this.maxVal) return; this.value++; }, pre:function(){ if(this.value==0) return; this.value--; }, getDistance:function(){ return this.getCurrentVal()*this.size; }, update:function(){ this.maxVal = Math.ceil((content.offsetHeight-document.body.offsetHeight)/this.size); } } window.addEventListener("resize",function(){ Step.update(); }); box.addEventListener("DOMMouseScroll",scrollfunc); box.addEventListener("mousewheel", scrollfunc); function scrollfunc(e){ if(e.type=="mousewheel"){ //非FF e.wheelDelta<0?Step.next():Step.pre(); } else { //FF e.detail>0?Step.next():Step.pre(); } document.title = Step.getCurrentVal(); box.scrollTop = Math.min(Step.getDistance(),content.offsetHeight-document.body.offsetHeight); //计算滚动比例 var percent = box.scrollTop/(content.offsetHeight-document.body.offsetHeight); //显示滚动条 scroll.style.opacity = 100; //计算滚动条的位置 scrollBar.style.top = (scroll.offsetHeight-scrollBar.offsetHeight)*percent + "px"; }</script>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS实现的页面自定义滚动条效果。分享给大家供大家参考,具体如下:这里演示网页上用的滚动条效果,是一个自定义的滚动条代码,除了上下两个箭头以外,滚动
可直接使用的js滚动条,先看看效果图:代码如下自定义滚动条滚动条*{margin:0;padding:0;}#mainBox{width:400px;heigh
一、实现对ScrollViewer样式的自定义主要包括:1、滚动条宽度设置2、滚动条颜色3、滚动条圆角4、滚动条拉动时的效果mouseover二、实现效果:三、
支持任意形式(包括图片自定义)的美化扩展,跨浏览器支持支持鼠标按住上、下箭按钮实现上下滚动支持鼠标滚轮放于“滚动条区”滚动,而不仅限放于滚动内容区才滚支持鼠标按
本文实例讲述了jQuery自定义滚动条实现方法。分享给大家供大家参考,具体如下:很多时候,由于美观上的考虑,往往需要自定义各种各样的滚动条,因此,本人做了一个d