js寫一個簡單的滾動條實例程式碼
html5
javascript
開發
捲動
移動
<!DOCTYPE html><html><head><title>滑动条</title><meta charset="utf-8"><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /><script type="text/javascript" src="./hScoll.js?1.1.11"></script></head><style>*{margin: 0;padding: 0;}#content{margin-top: 50px;width:100%;height: 200px;background: #eeeeee;overflow: hidden;position: relative;/**transform: translate(0px, -70px);*/}#scoll{overflow: hidden;}#content2{margin-top: 50px;width:100%;height: 200px;background: red;overflow: hidden;position: relative;/**transform: translate(0px, -70px);*/}#scoll2{overflow: hidden;}.scrollbars{position: absolute;height: 100%;right: 0;top: 0;width: 5px;border-radius: 5px;}.scollb{position: absolute;right: 0;top: 0;width: 100%;background: #999999;border-radius: 5px;}</style><body><div id="content"><div id="scoll"><p>1111</p><p>2222</p><p>3333</p><p>4444</p><p>5555</p><p>6666</p><p>7777</p><p>8888</p><p>9999</p><p>0000</p><p>aaaa</p><p>bbbb</p><p>cccc</p><p>dddd</p><p>eeee</p></div></div></body><script>var options ={ interactiveScrollbars:true} window.hScoll.buildScoll('content',options);</script></html>
登入後複製
js 程式碼
/** * Created by hechao on 2017/6/25. */(function(){/**添加window对象hScoll属性*/window.hScoll = { buildScoll:function(el,options){ App.init(el,options); } }var App = {/**初始化组件*/init:function(el,option){ App.options = option; App.prevY = 0; App.el = document.getElementById(el); App.scoll = this.el.children[0]; App.h = this.el.offsetHeight;//滑动范围高度App.ch = this.el.scrollHeight;//内容的高度if(parseFloat(this.h)<=parseFloat(this.ch)){ App.sdiv = document.createElement('div'); App.scollb = document.createElement('div'); App.sdiv.setAttribute('class','scrollbars'); App.scollb.setAttribute('class','scollb'); App.scollb.style.height = parseFloat(this.h)*parseFloat(this.h)/parseFloat(this.ch) + 'px'; App.el.appendChild(this.sdiv); App.sdiv.appendChild(this.scollb); App.initevent(); } },/**绑定事件*/initevent:function (){ App.el.addEventListener('touchstart', App.touchstart, false); App.el.addEventListener('touchmove', App.touchmove, false); App.el.addEventListener('touchend', App.touchend, false); },/**记录滑动初始位置*/touchstart:function(e){var point = App.getPoint(e); App.startY = point.pageY; },/**手指移动时,滚动条滚动*/touchmove:function(e){ e.preventDefault();//阻止默认行为var point = App.getPoint(e); App.moveY = point.pageY; App.deltaY = App.startY - App.moveY;if((App.prevY - App.deltaY)<=0 && (App.prevY - App.deltaY)>= -(App.ch-App.h)){ App.domove(App.prevY - App.deltaY); }if(App.options.interactiveScrollbars){ App.domove2(App.prevY - App.deltaY); }else{if((App.prevY - App.deltaY)<=0 && (App.prevY - App.deltaY)>= -(App.ch-App.h)){ App.domove2(App.prevY - App.deltaY); } } },/**手指离开时,判断位置*/touchend:function(e){ App.prevY = App.prevY - App.deltaY;if(App.prevY >= 0){ App.prevY = 0; App.domove(App.prevY,true); App.domove2(App.prevY,true); }if(App.prevY <= -(App.ch-App.h)){ App.prevY = -(App.ch-App.h); App.domove(App.prevY,true); App.domove2(App.prevY,true); } }, getPoint:function (e) {return e.touches ? e.touches[0] : e; },/**内容滑动*/domove:function (y,t){if(t){ App.scoll.setAttribute('style', 'transform: translate(0px, '+y+'px);transition:transform 300ms ease'); }else{ App.scoll.setAttribute('style', 'transform: translate(0px, '+y+'px);transition:transform 0ms ease'); } },/**滚动条滑动*/domove2:function(y,t){if(t){ App.scollb.setAttribute('style', 'transform: translate(0px, '+-parseFloat(y)*parseFloat(App.h)/parseFloat(App.ch)+'px);transition:transform 0ms ease;height:'+parseFloat(App.h)*parseFloat(App.h)/parseFloat(App.ch) + 'px'+''); }else{ App.scollb.setAttribute('style', 'transform: translate(0px, '+-parseFloat(y)*parseFloat(App.h)/parseFloat(App.ch)+'px);transition:transform 0ms ease;height:'+parseFloat(App.h)*parseFloat(App.h)/parseFloat(App.ch) + 'px'+''); } } } })();
登入後複製
以上是js寫一個簡單的滾動條實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
4 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前
By DDD
在哪裡可以找到Atomfall中的站點辦公室鑰匙
4 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)