JavaScript实现图片轮播插件封装

2020-12-13 05:57

阅读:469

标签:鼠标   bottom   important   一个   oat   UNC   border   点击   margin   

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

 
  
class="body"> "img/1.jpg"> "img/2.jpg"> "img/3.jpg">
  • class="active">
"javascript:;" class="left"> "javascript:;" class="right">

 

 

js部分,插件调用

 

 

封装的插件

(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) 

 

 

再给大家提供一个JavaScript实现图片轮播插件封装的详细的视频资料, 

http://www.makeru.com.cn/live/1396_1066.html?s=45051 



希望对大家的学习能够有所帮助。 

JavaScript实现图片轮播插件封装

标签:鼠标   bottom   important   一个   oat   UNC   border   点击   margin   

原文地址:https://www.cnblogs.com/QianD/p/11157415.html


评论


亲,登录后才可以留言!