国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

js 簡(jiǎn)易版滾動(dòng)條實(shí)例(適用于移動(dòng)端H5開(kāi)發(fā))

2024-05-06 15:15:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

廢話不多說(shuō),直接上代碼

<!DOCTYPE html><html><head>  <title>滑動(dòng)條</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"></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對(duì)象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;//滑動(dòng)范圍高度      App.ch = this.el.scrollHeight;//內(nèi)容的高度      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);    },    /**記錄滑動(dòng)初始位置*/    touchstart:function(e){      var point = App.getPoint(e);      App.startY = point.pageY;    },    /**手指移動(dòng)時(shí),滾動(dòng)條滾動(dòng)*/    touchmove:function(e){      e.preventDefault();//阻止默認(rèn)行為      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);        }      }    },    /**手指離開(kāi)時(shí),判斷位置*/    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;    },    /**內(nèi)容滑動(dòng)*/    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');      }    },    /**滾動(dòng)條滑動(dòng)*/    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'+'');      }    }  }})();            
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 邛崃市| 安阳市| 三台县| 沙雅县| 宜兴市| 法库县| 宿州市| 法库县| 新宁县| 樟树市| 台南市| 安溪县| 西宁市| 营口市| 嘉祥县| 大石桥市| 惠水县| 邯郸县| 文登市| 敦煌市| 买车| 凯里市| 清镇市| 通许县| 嘉定区| 清徐县| 图木舒克市| 汤阴县| 延庆县| 偃师市| 尼玛县| 成安县| 沂源县| 谷城县| 南开区| 堆龙德庆县| 扶余县| 策勒县| 连州市| 通州市| 密云县|