亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery插件實現圖片輪播特效

2019-11-20 09:41:26
字體:
來源:轉載
供稿:網友

好了廢話不多說了,先看看效果圖。

 

HTML部分: 

 <div class="slider"> <div class="ul-box">  <ul>  <li><a href="javascript:;"><img src="img/1.jpg"/></a></li>  <li><a href="javascript:;"><img src="img/2.jpg"/></a></li>  <li><a href="javascript:;"><img src="img/3.jpg"/></a></li>  <li><a href="javascript:;"><img src="img/4.jpg"/></a></li>  <li><a href="javascript:;"><img src="img/5.jpg"/></a></li>  <li><a href="javascript:;"><img src="img/6.jpg"/></a></li>  </ul> </div> <div class="mask"></div> <div class="prev"><img src="img/btn_l.png"/></div> <div class="next"><img src="img/btn_r.png"/></div> </div> <script src="js/jquery-1.11.3.js"></script> <script src="js/slider.js"></script> <script> $('.slider').slider({  width : 640,   height : 270,   during : 2000, //動畫執行間隔  speed : 500, //動畫速度  btnSize : 20, //底部遮罩層的按鈕大小  btnSpace : 10, //底部的按鈕間隙  direction : 1 //輪播方向默認為1,圖片向左移動 }); </script> 

CSS部分: 

*{ margin: 0; padding: 0; box-sizing: border-box;}.slider{ position: relative; overflow: hidden;}.slider ul{ list-style: none; float: left;}.slider ul li{ float: left;}.slider .mask{ position: absolute; bottom: 0; width: 100%; background-color: rgba(0, 0, 0, .3);}.slider .mask .sliderBtn{ position: absolute; border-radius: 50%; background-color: #fff; cursor: pointer; background: radial-gradient(white 20%, transparent 50%);}.slider .prev, .slider .next{ position: absolute; width: 45px;  height: 100%; background-color: rgba(0, 0, 0, .2); cursor: pointer; top: 0; display: none;}.slider .prev{ left: 0;}.slider .next{ right: 0;}.slider .prev img, .slider .next img{ position: absolute; top: 50%; left: 50%; margin-top: -22.5px; margin-left: -22.5px;} 

JS部分: 

(function ($) { $.fn.slider = function (setting) { //給jQuery的實例對象綁定一個slider方法 var defaultSetting = {  width : 640,  height : 270,  during : 3000,  speed : 500,  btnSize : 30,  btnSpace : 10,  direction : 1 } setting = $.extend(true, {}, defaultSetting, setting); //用傳入的參數替換掉默認的設置  return this.each(function (i, item) {   var _setInterval = window.setInterval;   window.setInterval = function (callback, timer, param) { //重寫setInterval函數,讓其可以傳參  var args = Array.prototype.slice.call(arguments, 2);   var _fn = function () {   callback.apply(null, args);  }  return _setInterval(_fn, timer);  }  var _this = $(this),  ulBox = $('.ul-box', this),  ul = $('ul', this),  li = $('li', ul),  img = $('img', li),  len = li.size(),  mask = $('.mask', this),  index = 0,   //用來控制按鈕的下標  flag = true,   //標識動畫是否執行完成  gap,    //執行動畫的按鈕下標和當前按鈕的下標的差  timer;    //計時器  _this.width(setting.width).height(setting.height);  ulBox.width(setting.width * 3 * len).height(setting.height).css({  marginLeft: -setting.width * len  });  ul.width(setting.width * len).height(setting.height);  img.width(setting.width).height(setting.height);  mask.height(setting.btnSize + 2 * setting.btnSpace);  //添加btn  for(var i = 0, str = ''; i < len; i++){  str += '<div class="sliderBtn"></div>';  }  mask.html(str);  var ulFir = ul.clone(true);  var ulSec = ul.clone(true);  var sliderBtn = $('.sliderBtn', '.mask');  ulBox.append(ulFir);  ulBox.append(ulSec);  sliderBtn.each(function (i, item) {  $(item).css({   width : setting.btnSize,   height : setting.btnSize,   top : setting.btnSpace,   left : parseInt(setting.width - (setting.btnSize + setting.btnSpace *2) *len, 10) /2 + setting.btnSize * i + setting.btnSpace * i * 2 + setting.btnSpace  });  $(item).mouseenter(function () {   gap = Math.abs(i - index);   i > index ? (flag && ani(1, gap)) : (flag && ani(0, gap));  })  });  btnAni(0);  //按鈕樣式變化  function btnAni (index) {  $('.sliderBtn').css('background', 'radial-gradient(white 20%, transparent 50%)');  $('.sliderBtn').eq(index).css('background', 'radial-gradient(white 10%, transparent 30%, white 70%)');  }  //動畫  function ani (direction, num) {  if(flag){   //默認1向左運動,0向右運動   flag = false;   var ulfir = $('ul', ulBox).eq(0);   var left = parseInt(ulfir.css('margin-left'), 10);   if(direction){   index += num;   index = index % len;   left = left - num * setting.width;   ulfir.animate({    marginLeft: left   }, setting.speed, function () {    if(left <= -len * setting.width){    ulfir = ulfir.remove();     ulfir.css('margin-left', 0);    ulBox.append(ulfir);    }    flag = true;   });   }else{   index -= num;   index = index <= -1 ? len - 1 : index;   left = left + num * setting.width;   ulfir.animate({    marginLeft: left   }, setting.speed, function () {    if(left >= len * setting.width){    var ulLast = $('ul', ulBox).eq(2).remove();    ulLast.css('margin-left', 0);    ulBox.prepend(ulLast);    ulfir.css('margin-left', 0);    }    flag = true   })   }   btnAni(index)  }  }  //定時器  timer = setInterval(ani, setting.during, setting.direction, 1);  _this.hover(function () {  $('.prev', this).css('display', 'block');  $('.next', this).css('display', 'block');  clearInterval(timer);  }, function () {  $('.prev', this).css('display', 'none');  $('.next', this).css('display', 'none');  timer = setInterval(ani, setting.during, setting.direction, 1);  })  $('.next').click(function () {  flag && ani(1, 1);  })  $('.prev').click(function () {  flag && ani(0, 1);  }) }) }})(jQuery) 

以上就是差不多所有的代碼了,一些比較關鍵的地方已經用注釋好了,這里就不再敘述。

源碼下載:https://github.com/wwervin72/jQuery/tree/master/slider-2

精彩專題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频在线观看免费| 欧美激情a∨在线视频播放| 亚洲美女又黄又爽在线观看| 日本在线观看天堂男亚洲| 成人激情视频免费在线| 亚洲欧美激情四射在线日| 欧美性videos高清精品| 国产成人精品免高潮费视频| 精品久久久999| 国产亚洲精品久久久久久777| 欧美一区二区三区艳史| 久久久久国色av免费观看性色| 日韩电影在线观看免费| 色综合久久88色综合天天看泰| 亚洲一区二区三区视频| 永久555www成人免费| 97成人精品视频在线观看| 亚洲欧美日韩精品| 国产精品成人播放| 国产不卡av在线| 欧美日韩中文在线观看| 中文字幕无线精品亚洲乱码一区| 久久亚洲精品中文字幕冲田杏梨| 欧美成人合集magnet| 久久中国妇女中文字幕| 国产精品国产福利国产秒拍| 欧美在线视频a| 国产精品免费在线免费| 午夜精品久久久99热福利| 欧美成人全部免费| 蜜月aⅴ免费一区二区三区| 欧美日韩视频免费播放| 98午夜经典影视| 亚洲综合在线小说| 欧美午夜精品久久久久久久| 久久久久久亚洲精品不卡| 国产精品美女视频网站| 一二美女精品欧洲| 在线观看久久久久久| 欧美国产亚洲视频| 久久视频在线免费观看| 国产一区二区在线播放| 亚洲第一av在线| 国产精品无码专区在线观看| 国产不卡av在线免费观看| 清纯唯美亚洲激情| 国产亚洲欧美一区| 久久久久久免费精品| y97精品国产97久久久久久| 亚洲性生活视频在线观看| 韩剧1988在线观看免费完整版| 久久久噜噜噜久久久| 国产亚洲欧美另类中文| 欧美精品福利视频| 亚洲tv在线观看| 国产视频精品va久久久久久| 成人激情视频小说免费下载| 国产网站欧美日韩免费精品在线观看| 美女精品久久久| 国产精品激情自拍| 性欧美视频videos6一9| 亚洲一区二区久久| 欧美激情一区二区三区高清视频| 国产亚洲精品久久久优势| 亚洲精选中文字幕| 久久精品一区中文字幕| 久久久精品国产一区二区| 欧美日韩精品在线| 国产精品成人一区二区| 91po在线观看91精品国产性色| 亚洲激情免费观看| 成人黄色午夜影院| 亚洲精品成人久久电影| 狠狠操狠狠色综合网| 国内精品久久久久| 亚洲色图美腿丝袜| 国产精品小说在线| 日韩av免费观影| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品视频播放| 久久国产精品首页| 欧美一区深夜视频| 国产精品1234| 久久不射热爱视频精品| 国产经典一区二区| 久久激情五月丁香伊人| 免费91麻豆精品国产自产在线观看| 久久精品国产一区二区三区| 亚洲色图av在线| 91九色精品视频| 久久九九精品99国产精品| 日韩视频第一页| 欧美国产日韩在线| 97超级碰碰人国产在线观看| 超在线视频97| 精品福利一区二区| 亚洲精品国产精品久久清纯直播| 欧美日韩在线另类| 国产精品国产三级国产aⅴ浪潮| 社区色欧美激情 | 国产日韩欧美一二三区| 成人天堂噜噜噜| 国产伦精品一区二区三区精品视频| 97香蕉超级碰碰久久免费的优势| 亚洲wwwav| 国产精品女主播视频| 久久久国产精品一区| 亚洲白虎美女被爆操| 精品日本高清在线播放| 欧美激情国产日韩精品一区18| 亚洲性线免费观看视频成熟| 亚洲国产欧美久久| 久久久久久国产精品久久| 久久综合电影一区| 日韩激情片免费| 欧美激情一级二级| 琪琪亚洲精品午夜在线| 国产中文字幕91| 国产大片精品免费永久看nba| 欧美日韩免费区域视频在线观看| 欧美夫妻性视频| 亚洲国产婷婷香蕉久久久久久| 欧美大片免费看| 日韩欧美国产免费播放| 久久精品视频在线播放| 欧美夫妻性生活xx| 欧美成人性色生活仑片| 国产美女搞久久| 日韩亚洲欧美中文在线| 18一19gay欧美视频网站| 2019亚洲男人天堂| 精品国模在线视频| 国产精品男人爽免费视频1| 欧美成人黑人xx视频免费观看| 97在线精品国自产拍中文| 欧美一级大片在线观看| 国产精品中文字幕在线| 久久在精品线影院精品国产| 尤物yw午夜国产精品视频明星| 性亚洲最疯狂xxxx高清| 91系列在线观看| 亚洲国产精品资源| 亚洲国产精品专区久久| 久久久久久国产精品| 国产精品丝袜久久久久久高清| 久久久久久久成人| 亚洲第一区在线观看| 亚洲精品久久久久中文字幕欢迎你| 日韩一区二区av| 日本成人激情视频| 欧美精品激情视频| 日本精品久久中文字幕佐佐木| 日韩高清欧美高清| www.国产精品一二区| 在线观看日韩av| 日本免费在线精品| 黄网动漫久久久| 亚洲精品乱码久久久久久按摩观| 国产日韩欧美日韩| 久久精品人人做人人爽| 国产视频亚洲精品| 伊人男人综合视频网| 一区二区三区四区精品| 国产69精品久久久久久|