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 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
Feb 08 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
基于jquery实现的自动补全功能
Mar 12 Javascript
九种原生js动画效果
Nov 11 Javascript
底部悬浮通栏可以关闭广告位的实现方法
Jun 01 Javascript
基于jquery实现的鼠标悬停提示案例
Dec 11 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
Nov 21 Javascript
详解Next.js页面渲染的优化方案
Jan 27 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 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 格式化数字的时候注意数字的范围
2010/04/13 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
详解js异步文件加载器
2016/01/24 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
Vue异步加载about组件
2017/10/31 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
python使用arp欺骗伪造网关的方法
2015/04/24 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
标准毕业生自荐信范文
2013/11/04 职场文书
毕业生自荐信
2013/12/14 职场文书
男女朋友协议书
2014/04/23 职场文书
城市创卫标语
2014/06/17 职场文书
倡议书格式
2014/08/30 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android