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

首頁 > 編程 > JavaScript > 正文

利用iscroll4實現輪播圖效果實例代碼

2019-11-19 18:01:06
字體:
來源:轉載
供稿:網友

前言

iscroll之所以會誕生,主要是因為無論是在以前的iphone、ipod、android 或是更早前的移動webkit都沒有提供一種原生的方式來支持在一個固定高度的容器內滾動內容。相信很多人和我一樣,在使用iscroll的是時候只知道可以手動滑動,不知道iscroll的輪播怎么實現,那么以下就是我做的一個輪播效果,親測有效;

一、html代碼,當然可以動態添加下面的小圓點

<div id="wrapper"> <div id="scroller">  <ul id="thelist">   <li><strong>1.</strong> <em>A robot may not injure a human being or, through inaction, allow a human being to come to harm.</em></li>   <li><strong>2.</strong> <em>A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law.</em></li>   <li><strong>3.</strong> <em>A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.</em></li>   <li><strong>4Zeroth Law:</strong> <em>A robot may not harm humanity, or, by inaction, allow humanity to come to harm.</em></li>  </ul> </div></div><div id="nav"> <div id="prev" onclick="myScroll.scrollToPage('prev', 0);return false">← prev</div> <ul id="indicator">  <li class="active">1</li>  <li>2</li>  <li>3</li>  <li>4</li> </ul> <div id="next" onclick="myScroll.scrollToPage('next', 0);return false">next →</div></div>

二、css代碼

<style type="text/css" media="all">body, ul, li { padding: 10px; margin: 0;}body { font-size: 12px; -webkit-user-select: none; -webkit-text-size-adjust: none; font-family: helvetica;}#wrapper { width:100%; height: 160px; float: left; position: relative; /* On older OS versions "position" and "z-index" must be defined, */ z-index: 1;   /* it seems that recent webkit is less picky and works anyway. */ overflow: hidden; background: #aaa; -webkit-border-radius: 10px; -moz-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; background: #e3e3e3;}#scroller { /*width: 2100px;*/ height: 100%; float: left; padding: 0;}#scroller ul { list-style: none; display: block; float: left; width: 100%; height: 100%; padding: 0; margin: 0; text-align: left;}#scroller li { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; display: block; float: left; /*width: 300px;*/ height: 160px; text-align: center; font-family: georgia; font-size: 18px; line-height: 140%;}#nav { width:100%; float: left;}#prev, #next { float: left; font-weight: bold; font-size: 14px; padding: 5px 0; width: 80px;}#next { float: right; text-align: right;}#indicator, #indicator > li { display: block; float: left; list-style: none; padding: 0; margin: 0;}#indicator { width: 110px; padding: 12px 0 0 30px;}#indicator > li { text-indent: -9999em; width: 8px; height: 8px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; background: #ddd; overflow: hidden; margin-right: 4px;}#indicator > li.active { background: #888;}#indicator > li:last-child { margin: 0;}</style>

三、js代碼(這里我用的jquery 做的測試,你也可以根據自己的喜好選擇其他庫)

<script src="js/jquery.js"></script><script src="js/iscrollc.js"></script><script type="text/javascript"> var myScroll; var timer; var i=0; var obj=$('#wrapper'); var obj_w=obj.outerWidth(true); var oli=obj.find('li'); var oli_l=oli.length; oli.outerWidth(obj_w); $('#scroller').width(oli_l*obj_w); function loaded() {  myScroll = new iScroll('wrapper', {   snap: true,   momentum: false,   hScrollbar: false,   onScrollEnd: function () {    document.querySelector('#indicator > li.active').className = '';    document.querySelector('#indicator > li:nth-child(' + (this.currPageX+1) + ')').className = 'active';   },   onBeforeScrollStart:function(){    clearInterval(timer);    },   onTouchEnd:function(){    timer=setInterval(gund,2000);    i=myScroll.currPageX    },   }); timer=setInterval(gund,2000);  function gund(){ //每5秒滾動   i++;      if(i==oli_l){    i=0;    myScroll.scrollToPage(0, 0, 1000); //滾回第一頁   } else {    myScroll.scrollToPage('next', 0);   };   document.title=i  };  };document.addEventListener('DOMContentLoaded', loaded, false);</script>

html 和css不用說,都是行家,主要是js,首先是初始化,再根據iscorll提供的API修改相應的代碼,這里主要用刀onBeforeScrollStart,onScrollEnd,onTouchEnd這三個事件,同時結合scrollToPage(),currPageX事件進行對應的定時修改,滑動之后同步自動滾動的頁數,就ok了,其實寫這個主要是熟悉API。。。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家學習或者使用iscorll能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿城市| 绥中县| 临颍县| 洪湖市| 乐东| 图们市| 当涂县| 车险| 咸阳市| 安图县| 玉环县| 滨海县| 茌平县| 乐东| 万州区| 莱阳市| 松滋市| 睢宁县| 乌苏市| 稻城县| 高清| 子洲县| 德州市| 敦化市| 蓬溪县| 容城县| 连城县| 光山县| 苍溪县| 龙岩市| 叙永县| 南充市| 上饶市| 上虞市| 红桥区| 浦县| 日土县| 清原| 舞阳县| 竹山县| 临邑县|