您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了js自定義滾動(dòng)條的實(shí)現(xiàn)的具體代碼,供大家參考,具體內(nèi)容如下
描述:
自定義滾動(dòng)條的實(shí)現(xiàn)
效果:
實(shí)現(xiàn):
<!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;} /*一個(gè)個(gè)劃過(guò)去的頁(yè)面塊*/ .ball { width: 100%; height: 500px; font-size:100px; font-weight:bold; color: skyblue; text-align: center; line-height:500px; } /*//滾動(dòng)欄*/ #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; } /*//滾動(dòng)欄上的小長(zhǎng)條*/ #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 > <div id="box"> <div id="content"> <!--//營(yíng)造div色塊交替的感覺(jué)--> <p class="ball" >1</p> <p class="ball" >2</p> <p class="ball" >3</p> <p class="ball" >4</p> <p class="ball" >5</p> <p class="ball" >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); //計(jì)算滾動(dòng)比例 var percent = box.scrollTop/(content.offsetHeight-document.body.offsetHeight); //顯示滾動(dòng)條 scroll.style.opacity = 100; //計(jì)算滾動(dòng)條的位置 scrollBar.style.top = (scroll.offsetHeight-scrollBar.offsetHeight)*percent + "px"; } </script>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。