js图片轮播插件的封装
程序员文章站
2023-02-24 10:30:20
本文为大家分享了js图片轮播插件的具体代码,供大家参考,具体内容如下
我封装的这个轮播插件只需要获取到图片和按钮就可以啦。
css 样式
.body{...
本文为大家分享了js图片轮播插件的具体代码,供大家参考,具体内容如下
我封装的这个轮播插件只需要获取到图片和按钮就可以啦。
css 样式
.body{ width: 700px; margin: 100px auto; position: relative; height: 300px; overflow: hidden; } .body img{ width: 700px; position: absolute; display: none; } .body ul{ position: absolute; bottom: 3px; left: 50%; transform: translatex(-50%); } .body li{ list-style: none; float: left; width: 15px; height: 15px; border-radius: 50px; background: none; border: 2px solid #fff; margin-right: 10px; cursor: pointer; } .active{ background-color: #fff !important; } .body a{ text-decoration: none; position: absolute; display: block; top: 50%; transform: translatey(-50%); height: 50px; width: 30px; background-size: 100% 60%; background-color: rgba(0,0,0,0.3); } .left{ left: 0; background: url('../img/left.png') no-repeat center center; } .right{ right: 0; background: url('../img/right.png') no-repeat center center; }
页面结构 html 代码
<body> <div class="body"> <img src="img/1.jpg"> <img src="img/2.jpg"> <img src="img/3.jpg"> <ul> <li class="active"></li> <li></li> <li></li> </ul> <a href="javascript:;" class="left"></a> <a href="javascript:;" class="right"></a> </div>
js部分,插件调用
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script> <script type="text/javascript" src="js/slider.js"></script> <script type="text/javascript"> $.slider({ imgelement:$(".body img"), lielement:$(".body li"), leftbtn:$(".left"), rightbtn:$(".right"), time:2000 }) </script>
封装的插件
(function($){ function slider(options){ this.opts=$.extend({},slider.defaluts,options); this._imgslider(); } //设置默认值 slider.defaluts={ imgelement:null, lielement:null, leftbtn:null, rightbtn:null, time:2000 } slider.prototype._imgslider=function(){ var opts=this.opts, index=0, len=opts.imgelement.length, timeinter=null; if(opts.imgelement=='') return; opts.imgelement.eq(0).show(); showtime(); //当鼠标经过 轮播停止,移开继续 opts.imgelement.hover(function() { clearinterval(timeinter); }, function() { showtime(); }); //点击li 显示对应的图片 opts.lielement.click(function(){ var id=$(this).index(); show(id); }); //向左向右 opts.leftbtn.click(function(){ clearinterval(timeinter); --index; index=math.max(0,index); show(index); showtime(); }); opts.rightbtn.click(function(){ clearinterval(timeinter); ++index; index=math.min(len-1,index); show(index); showtime(); }); function showtime(){ timeinter=setinterval(function(){ index++; if(index>len){ index=0; } show(index); },opts.time); } function show(index){ opts.imgelement.eq(index).fadein(1000).siblings('img').fadeout(1000); opts.lielement.eq(index).addclass('active').siblings('li').removeclass('active'); } } $.extend({ slider:function(options){ new slider(options); } }) })(jquery)
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: JS获取填报扩展单元格控件的值的解决办法
推荐阅读
-
js专家教你如何快速编写简单的jQuery提示插件
-
vue轮播图插件vue-concise-slider的使用
-
jquery插件lazyload.js延迟加载图片的使用方法
-
火狐浏览器插件BatchDownload批量下载网页中的图片
-
借助谷歌浏览器chrome的的插件批量下载网页图片
-
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
-
vue.js移动端tab组件的封装实践实例
-
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
-
Axure图片怎么轮播? axure轮播图效果的做法
-
用 js 的 selection range 操作选择区域内容和图片