js图片轮播插件的封装


Posted in Javascript onJuly 21, 2017

本文为大家分享了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图片轮播插件的封装

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
简单的js计算器实现
Oct 26 Javascript
js阻止移动端页面滚动的两种方法
Jan 25 Javascript
Angularjs上传文件组件flowjs功能
Aug 07 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
May 17 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
vue实现动态按钮功能
May 13 Javascript
原生js添加一个或多个类名的方法分析
Jul 30 Javascript
Javascript es7中比较实用的两个方法示例
Jul 21 #Javascript
AngularJS中使用three.js的实例详解
Jul 21 #Javascript
Axios学习笔记之使用方法教程
Jul 21 #Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 #Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 #Javascript
基于JavaScript实现数码时钟效果
Mar 30 #Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 #Javascript
You might like
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
PHP7内核之Reference详解
2019/03/14 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
2010/03/01 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
python编写Logistic逻辑回归
2020/12/30 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
django的ORM模型的实现原理
2019/03/04 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
村长反四风问题个人对照检查材料
2014/09/21 职场文书
公务员个人考察材料
2014/12/23 职场文书
交警失职检讨书
2015/01/26 职场文书
防溺水主题班会教案
2015/08/12 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书