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 CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
js点击任意区域弹出层消失实现代码
Dec 27 Javascript
js正则表达式验证密码强度【推荐】
Mar 03 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
Nov 24 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
原生JS实现获取及修改CSS样式的方法
Sep 04 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
angularjs请求数据的方法示例
Aug 06 Javascript
vue路由切换时取消之前的所有请求操作
Sep 01 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue中的适配px2rem示例代码
2018/11/19 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
python实现学生管理系统
2018/01/11 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
在python中实现对list求和及求积
2018/11/14 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
python实现快递价格查询系统
2020/03/03 Python
酒店总经理欢迎词
2014/01/15 职场文书
一名老师的自我评价
2014/02/07 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
关于召开会议的通知
2015/04/15 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS