js图片轮播插件的封装

 更新时间:2017年07月21日 10:52:17   作者:赵-碧-菡  
这篇文章主要为大家详细介绍了js图片轮播插件的封装代码,只需要获取到图片和按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了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)

效果图

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

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

相关文章

  • js如何对元素可视区域进行判定

    js如何对元素可视区域进行判定

    在前端开发中,有时候我们需要判断一个元素是否在可视区域内,本文主要介绍了js如何对元素可视区域进行判定,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)

    基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)

    最近在开微信的页面,在项目需求中遇到之前没有做过的功能,要求横线提示输入验证码随验证码输入横线消失,基于js怎么实现的呢?下面小编给大家分享基于js实现验证码功能,感兴趣的朋友一起看看吧
    2016-10-10
  • JS中addEventListener的使用示例详解

    JS中addEventListener的使用示例详解

    addEventListener是JavaScript中的一个方法,用于向一个元素添加事件监听器,本文给大家介绍JS中addEventListener的使用示例代码,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例

    JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例

    这篇文章主要介绍了JavaScript数据结构与算法之二叉树插入节点、生成二叉树,结合实例形式较为详细的分析了javascript二叉树相关概念、定义、节点插入、遍历输出等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • JavaScript 放大镜 移动镜片效果代码

    JavaScript 放大镜 移动镜片效果代码

    JavaScript 放大镜是我成为前端后写的第一个组件, 从中学到了很多东西. 现在已经过去超过半年, 我希望能在自己仍有印象的时候, 整理和重新思考其中的一些处理方法, 将它改进, 并将这些想法写出来
    2011-05-05
  • functional继承模式 摘自javascript:the good parts

    functional继承模式 摘自javascript:the good parts

    javascript:the good parts 书中Inheritance部分讲到了一种functional的继承方式, 具体这个functional该如何翻译,就不是很清楚了, 就直接意会一下吧
    2011-06-06
  • js addDqmForPP给标签内属性值加上双引号的函数

    js addDqmForPP给标签内属性值加上双引号的函数

    这篇文章主要介绍了js addDqmForPP给标签内属性值加上双引号的函数,需要的朋友可以参考下
    2016-12-12
  • JavaScript常见事件源与事件流的获取方法及解析

    JavaScript常见事件源与事件流的获取方法及解析

    这篇文章主要为大家介绍了JavaScript常见事件源与事件流的获取方法及解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 比例尺、缩略图、平移缩放之百度地图添加控件方法

    比例尺、缩略图、平移缩放之百度地图添加控件方法

    这篇文章主要介绍了比例尺、缩略图、平移缩放之百度地图添加控件方法,大家都知道百度地图API中提供了丰富的控件,您还可以通过Control类来实现自定义控件,需要的朋友可以参考下
    2015-08-08
  • echarts报错:Error in mounted hook的解决方法

    echarts报错:Error in mounted hook的解决方法

    最近又遇到了写echarts的时候常遇到的一个错误,这篇文章主要给大家介绍了关于echarts报错:Error in mounted hook: “TypeError: Cannot read properties of undefined (reading ‘init‘)“的解决方法,需要的朋友可以参考下
    2022-07-07

最新评论