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 相关文章推荐
列表内容的选择
Jun 30 Javascript
js实现杯子倒水问题自动求解程序
Mar 25 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
javascript计时器编写过程与实现方法
Feb 29 Javascript
JavaScript学习笔记之数组随机排序
Mar 23 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 Javascript
easyui combogrid实现本地模糊搜索过滤多列
May 13 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
微信小程序实现文件、图片上传功能
Aug 18 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 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
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
JavaScript 事件记录使用说明
2009/10/20 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
Python中的is和id用法分析
2015/01/26 Python
python实现数据库跨服务器迁移
2018/04/12 Python
Python tkinter三种布局实例详解
2020/01/06 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
什么是接口(Interface)?
2013/02/01 面试题
Collection和Collections的区别
2016/05/02 面试题
公司财务工作总结的自我评价
2013/11/23 职场文书
教师实习自我鉴定
2013/12/11 职场文书
建筑个人求职信范文
2014/01/25 职场文书
廉政承诺书
2015/01/19 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python