jquery版本轮播图(es5版本,兼容高)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jquery版本轮播图(es5版本,兼容高),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4912字,纯文字阅读大概需要8分钟。
内容图文
优势:基于es5,兼容高。切换动画css配置,轻量,不包含多余代码,可扩展性很高,多个轮播图不会冲突,可配置独有namespace
注:
1、项目需要所写,所以只写了页码的切换,未写上一页下一页按钮,不过js里面包含下一页代码,只需要config扩展一个切换上一页下一页按钮的class,照猫画虎写一个上一页的方法即可
2、提供了可配置当前激活项得class,默认active,这样可以根据项目需要进行配置,不至于限制死(一个页面多个轮播,即使全用active也没问题,因为内部做了space)
3、namespace只有new Swiper时候传入一个即可 内部使用任何相同的class都没问题
4、页码、轮播只能使用li(想要修改可以自己修改源码find(li)换成其余的)
下面放下swiper的源码:
var Swiper = function(bannerContine){ this._loopTime = 3000; this._currentImgNum = 0; this._currentClass = "active"; this._imgListLength = 0; this._bannerContine = bannerContine; this._timer = null; this._config = null; this._pageContine = null; this.setImgNumber = function(index){ this._currentImgNum = index } // 设置indexthis.setNextImgNumber = function(){ if(this._currentImgNum == this._imgListLength - 1){ this.setImgNumber(0); }else{ this.setImgNumber(this._currentImgNum + 1); } } // 翻页到指定numberthis.gotoImgByNum = function(index){ this.setImgNumber(index); $(this._bannerContine).find("li").removeClass(this._currentClass) .eq(index).addClass(this._currentClass); if(this._pageContine){ $(this._pageContine).find("li").removeClass(this._currentClass) .eq(index).addClass(this._currentClass); } } // 下一页this.next = function(){ this.setNextImgNumber(); this.gotoImgByNum(this._currentImgNum); } // 开始轮播this.autoPlay = function(){ var that = this; if(this._timer){ clearTimeout(this._timer); } this._timer = setTimeout(function(){ that.next(); that.autoPlay(); },that._loopTime) } // 重置轮播时间this.suspendPlay = function(){ if(this._config.autoPlay && this._config.autoPlay.toString() == "true"){ clearTimeout(this._timer); var that = this; setTimeout(function(){ that.autoPlay(); },0) } } this.stopPlay = function(){ clearTimeout(this._timer); } // 启动器this.run = function(config){ var that = this; this._imgListLength = $(this._namespace + " " + this._bannerContine).find("li").length; this._config = config; if(config.currentClass){ this._currentClass = config.currentClass.toString(); } if(config.startNum !== "" && config.startNum !== null && config.startNum !== undefined){ this._currentImgNum = parseInt(config.startNum); } if(config.pageContine && config.pageContine != ""){ this._pageContine = config.pageContine; $(this._pageContine).find("li").each(function(index){ $(this).on("click",function(e){ e.stopPropagation(); that.gotoImgByNum(index); that.suspendPlay(); }) }) } this.gotoImgByNum(this._currentImgNum); if(config.delayTime){ this._loopTime = parseInt(config.loopTime); } if(config.autoPlay && config.autoPlay.toString() == "true"){ this.autoPlay(); } } }
使用方法:
html:
< div class =‘cms_banner_container‘ > < ul class ="banner_container_imgul" > < li > < img src ="https://preview.qiantucdn.com/58pic/28/60/74/52s58PICnbu97bbKkf6te_PIC2018.jpg!w1024_new_small" alt ="" > </ li > < li > < img src ="https://preview.qiantucdn.com/58pic/27/89/84/75058PICta44WaKcE2PNY_PIC2018.png!w1024_new_0" alt ="" > </ li > < li > < img src ="https://preview.qiantucdn.com/58pic/28/08/69/43y58PICrzW58PICr85358PIC58PICm658PIC_PIC2018.png!w1024_new_0" alt ="" > </ li > < li > < img src ="https://preview.qiantucdn.com/58pic/17/79/16/93358PIC9Av71d6Xwe7cc_PIC2018.jpg!w1024_new_small" alt ="" > </ li > </ ul > < ul class = "banner_pagination banner_pagination0" > < li >1</li><li>2</li><li>3</li><li>4</li></ul></div>
css:
* { margin: 0; padding: 0; list-style: none; } .cms_banner_container{ width:100%; height:100%; position: relative;; } /* 图片列表的样式 */ .banner_container_imgul{ position: relative; width:100%; height:100%; } .banner_container_imgul li { position: absolute; top:0; height:0; width:100%; height:100%; opacity: 0; transition:all 1.5s ease-in-out 0s; /* 常用的简写方式 */ } .banner_container_imgul li.active{ opacity: 1; } .banner_container_imgul li img{ width:100%; height:100% } /* 页码的样式 */ .banner_pagination { position: absolute; z-index:99; bottom:30px; left:50%; transform: translateX(-50%); } .banner_pagination li { display: inline-block; width:20px; height:20px; line-height: 20px; text-align: center; background:#000; border-radius: 50%; color:#fff; cursor: pointer; } .banner_pagination li.active{ background:#fff; color:#000; }
js
window.onload = function(){ // 传入一个节点的class或者idvar swiper = new Swiper(".banner_container_imgul"); // 执行run 传入config/** * config参数大全 * @param {Boolean} autoPlay 是否开启自动循环 默认false 不开启不会注册loop函数 * @param {Number} loopTime 自动循环时间 默认3000 * @param {Number} startNum 起始图片 * @param {String} currentClass 标记当前index的class(默认 active)注:会同时激活img li和page li * @param {String} pageContine 页码节点的class 如果不传不会注册页码的点击事件 */ swiper.run({ autoPlay:true, loopTime:3000, pageContine:".banner_pagination", }) }
这是一个完整的轮播图,懒的同学可以直接拷贝,亲测写多个,兼容完全没问题 放心用就好啦
原文:https://www.cnblogs.com/jinzhenzong/p/12074514.html
内容总结
以上是互联网集市为您收集整理的jquery版本轮播图(es5版本,兼容高)全部内容,希望文章能够帮你解决jquery版本轮播图(es5版本,兼容高)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。