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

首頁 > 編程 > JavaScript > 正文

jquery制作多功能輪播圖插件

2019-11-20 12:47:29
字體:
來源:轉載
供稿:網友

這是一款多功能幻燈片插件,支持多種配置,css樣式是扒的網上的,里面的代碼原創,輕噴~

;(function($) {  "use strict";  var methods = {    o : {      next: "#cycle-next",      prev: "#cycle-prev",      pager : "#cycle-nav",      slider : "#beauty-slider",      timeLine : "#timeLine",      innerTimeLine : "#inner-timeLine",      timeLineNode : "#timeLine-node",      sliderItemClass : "sliderItem",      nodeActive : "node_active",      displays : {fade : "fade",left : "left",right : "right",top : "top",bottom : "bottom"},      navHtml : "<a href='javascript:;' class='&'>?</a>",      navConfig : {navBoxClass : "cycle-nav", navActiveClass: "activeSlide" ,showNum : true}    },    generateId : function(){      return "-" + new Date().getTime();    },    generateTemplate : function(id,settings){      var htmls = new Array();      htmls.push('<div class="slider-wrap">');      htmls.push('<div class="cycleslider-wrap">');      htmls.push('<div id="beauty-slider' + id + '" class="cycleslider"></div>');      if(settings.isArrow) {        htmls.push('<a id="cycle-prev' + id + '" class="cycle-prev" href="javascript:;" title="試試左方向鍵翻頁">Prev</a>');        htmls.push('<a id="cycle-next' + id + '" class="cycle-next" href="javascript:;" title="試試右方向鍵翻頁">Next</a>');      }      if(settings.showTimeLine) {        htmls.push('<div class="timeLine" id="timeLine' + id + '">');        htmls.push('<div class="innerTimeLine" id="inner-timeLine' + id + '" style="width:0px;"> </div>');        htmls.push('<div id="timeLine-node' + id + '"></div>');        htmls.push('</div>');      }      if(settings.isNav) {        htmls.push('<div id="cycle-nav' + id + '" class="cycle-nav"></div>');      }      htmls.push('</div>');      htmls.push('<div class="loader"></div>');      htmls.push('</div>');      return htmls;    },    init : function(dom, options) {      var s = this;      var defaults = { url : "", data : {} , auto : false ,time : 2000, overLay : false, isArrow : true, isNav : true ,showTimeLine : false,showTip : false, keyboard : true, display : s.o.displays.fade,navConfig : s.o.navConfig};      var settings = $.extend({},defaults, options);      var id = s.generateId();      $(".slider-wrap .loader").show();      var imgArray = s.returnImgArray(dom, settings);      if (imgArray != null && imgArray.length > 0) {        s["imgcnt" + id] = imgArray.length;        $(dom).html(s.generateTemplate(id,settings).join('')).show();        var slider = $(s.o.slider + id);        var pager = $(s.o.pager + id);        var timeLineNode = $(s.o.timeLineNode + id);        s.o.innerW = $(dom).width() - 20;        var imgHtml = "";        var pageHtml = "";        var timeHtml = "";        $.each(imgArray,function(index,item){          var picClass = index == 0 ? s.o.sliderItemClass : s.o.sliderItemClass + " none";          var navClass = index == 0 ? settings.navConfig.navActiveClass : "";          imgHtml +='<div class="' + picClass + '"><a href="'+ ( s.isParamValid(item.picUrl) ? item.picUrl : "javascript:;" ) +'"><img src="' + item.picPath + '" width="'+item.width+'" height="' +item.height+ '" title="' + item.title + '"/></a></div>';          pageHtml += s.o.navHtml.replace("?", settings.navConfig.showNum ? index + 1 : "").replace("&", navClass);          var left = s.o.innerW * index / s["imgcnt" + id] - 13;          var nodeClass = index == 0 ? s.o.nodeActive : "";          timeHtml +='<div class="node ' + nodeClass + '" style="left: ' + left + 'px;">';          if(settings.showTip) {            timeHtml +='<div class="tooltip">' + item.title + '</div>';          }          timeHtml +='</div>';        });        slider.html(imgHtml);        if(settings.isNav) {          if(settings.navConfig.navBoxClass) {            pager.removeClass(s.o.navConfig.navBoxClass).addClass(settings.navConfig.navBoxClass);          }          pager.html(pageHtml);        }        if(settings.showTimeLine) {          timeLineNode.html(timeHtml);        }        slider.width(s.o.innerW);        slider.find("." + s.o.sliderItemClass).width(s.o.innerW);        $(s.o.timeLine + id).width(s.o.innerW);        if(settings.overLay) {          if($.fn.layerModel) {            $(dom).layerModel({staySame : true, blurClose : true});          } else {            alert("請先引入layerModel插件!");          }        }        s.initBind(id, settings);        s["currentIndex" + id] = 0;        var totalTime = settings.time / 1000 * s["imgcnt" + id];        if(settings.auto) {          if(settings.showTimeLine) {            s.startTimeLine(id , totalTime,settings);          } else {            s.o.timeInterval = window.setInterval(function(){              $("#cycle-next" + id).click();            }, settings.time);          }        }      } else {        return;      }      return dom;    },    startTimeLine : function(id ,time, settings) {      var s = this;      var $innerTimeLine = $(s.o.innerTimeLine + id);      var crnW = $innerTimeLine.width();      for (var i = 0; i < s["imgcnt" + id]; i++) {        var autoW = Math.floor(s.o.innerW * i / s["imgcnt" + id]);        if(crnW == autoW) {          s["currentIndex" + id] = i;          s.updateImgLink(id, settings);          $(s.o.timeLineNode + id).find("div.node").eq(i).addClass(s.o.nodeActive).siblings().removeClass(s.o.nodeActive);        }      }      if(crnW < s.o.innerW) {        $innerTimeLine.animate({width : "+=1px"}, time , 'linear', function(){          s.startTimeLine(id, time, settings);        });      } else {        $innerTimeLine.width(0);        s.startTimeLine(id, time, settings);      }    },    initBind :function(id, settings) {      var s = this;      var isEasing = $.easing.def;      if(settings.isArrow) {        $("#cycle-prev" + id + ", #cycle-next" + id).css({opacity: "0"});        $(".cycleslider-wrap").hover(function(){          $("#cycle-prev" + id).stop().animate({left: "-31", opacity: "1"},200,isEasing ? "easeOutCubic" : "");          $("#cycle-next" + id).stop().animate({right: "-31", opacity: "1"},200,isEasing ?"easeOutCubic" : "");          }, function() {          $("#cycle-prev" + id).stop().animate({left: "-50", opacity: "0"},400,isEasing ?"easeInCubic" : "");          $("#cycle-next" + id).stop().animate({right: "-50", opacity: "0"},400,isEasing ?"easeInCubic" : "");            });        $("#cycle-prev" + id).bind("click",function(){          s["currentIndex" + id] = s["currentIndex" + id] <= 0 ? s["imgcnt" + id] - 1 : s["currentIndex" + id] - 1;          s.updateImgLink(id,settings);        });        $("#cycle-next" + id).bind("click",function(){          s["currentIndex" + id] = s["currentIndex" + id] < s["imgcnt" + id] - 1 ? s["currentIndex" + id] + 1 : 0;          s.updateImgLink(id,settings);        });      }      $(".slider-wrap .loader").hide();      $("a",s.o.pager + id).bind("click",function(){        if ($(this).hasClass(s.o.navConfig.navActiveClass)){          return false;        }        s["currentIndex" + id] = $(this).index();        s.updateImgLink(id,settings);      });             if(settings.auto && settings.showTimeLine) {        $("div.node",s.o.timeLineNode + id).bind({          click : function(){            if($(this).hasClass(s.o.nodeActive)){              return false;            }            s["currentIndex" + id] = $(this).index();            s.updateImgLink(id,settings);          },          mouseover : function(){            if(settings.showTip) {              $(this).find(".tooltip").fadeIn();            }          },          mouseout : function(){            if(settings.showTip) {              $(this).find(".tooltip").fadeOut();            }          }        });      }      // 鍵盤操作      if(settings.keyboard){        $(window).keydown(function(event){          //<---          if(event.keyCode == 37){            $("#cycle-prev" + id).click();          }          //--->          if(event.keyCode == 39){            $("#cycle-next" + id).click();          }        });      }    },    updateImgLink : function(id, settings){      var s = this;      var index = s["currentIndex" + id];      var display = settings.display;      var isEasing = $.easing.def;      var $items = $("div." + s.o.sliderItemClass,s.o.slider + id);      switch (display) {        case s.o.displays.fade :          $items.eq(index).show().siblings().hide();          break;        case s.o.displays.left :          $items.css({ position : "absolute", top : 0, left : s.o.innerW }).hide();          $items.eq(index).animate({ left : 0 }, 100, isEasing ? "easeOutCubic" : "").show();          $(s.o.slider + id).height(s.getImgMaxHeight(id));          break;        case s.o.displays.right :          $items.css({ position : "absolute", top : 0, right : s.o.innerW }).hide();          $items.eq(index).animate({ right : 0 }, 100, isEasing ? "easeOutCubic" : "").show();          $(s.o.slider + id).height(s.getImgMaxHeight(id));          break;        case s.o.displays.top :          break;        case s.o.displays.bottom :           break;        default :          break;      }      $("a",s.o.pager + id).eq(index).addClass(settings.navConfig.navActiveClass).siblings().removeClass(settings.navConfig.navActiveClass);      // 更新進度條的信息      if(settings.auto && settings.showTimeLine) {        var indexWidth = Math.floor(s.o.innerW * index / s["imgcnt" + id]);        $(s.o.innerTimeLine + id).animate({width : indexWidth +"px"}, 500 , 'linear', function(){          $(s.o.timeLineNode + id).find("div.node").eq(index).addClass(s.o.nodeActive).siblings().removeClass(s.o.nodeActive);        });      }    },    getImgMaxHeight : function(id) {      var s = this;      var slider = $(s.o.slider + id);      var maxHeight = 0;      $.each(slider.find("img"),function(index,item){        var imgHeight = this.height;        maxHeight = Math.max(maxHeight,imgHeight);      });      return maxHeight;    },    returnImgArray : function(dom,settings){      var s = this;      var imgArray = new Array();      var url = settings.url;      if (s.isParamValid(url)) {        $.ajax({          url : url + "?t=" + new Date().getTime(),          type : 'POST',          async : false,          data : settings.data,          dataType : 'json',          success : function(data) {            if (s.isParamValid(data)) {              $.each(data, function(index, item) {                imgArray.push(item);              });            }          },          error : function() {            alert("圖片數據源地址無效...");            return null;          },          complete : function(XHR, TS) { XHR = null; }        });      } else {        var imgs = $(dom).find("img");        if (imgs != null && imgs.length > 0) {          $.each(imgs,function(i,o){            var pic = new Object();            pic.picUrl = $(o).parent("a").attr("href");            pic.picPath = $(o).attr("src");            pic.width = $(o).attr("width");            pic.height = $(o).attr("height");            pic.title = $(o).attr("title");            imgArray.push(pic);          });        }      }      return imgArray;    },    isParamValid : function(v) {      return !(v == "" || v == null || v == undefined);    }  };  $.fn.beautyFocus = function(options) {    return this.each(function(index,item) {      methods.init(item, options);      });  };})(jQuery);

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产美女久久精品| 96国产粉嫩美女| 精品视频久久久久久久| 不卡av在线播放| 欧美大片网站在线观看| 久久国产精品久久久久久| 亚洲精品动漫100p| 91精品视频免费看| 亚洲精品久久久久久久久久久| 亚洲精品午夜精品| 亚洲精品久久在线| 性欧美长视频免费观看不卡| 亚洲级视频在线观看免费1级| 最近2019免费中文字幕视频三| 午夜精品蜜臀一区二区三区免费| 国产精品一区二区久久久久| 日韩中文娱乐网| 国产国产精品人在线视| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲欧美三级在线| 中文字幕日韩精品在线| 国产精品久久久久久久久| 日韩一区二区欧美| 日韩精品久久久久| 欧美一级大胆视频| 国产精品久久久久久久久久东京| 日韩av影院在线观看| 亚洲品质视频自拍网| 亚洲iv一区二区三区| 九九热精品视频| 国产精品私拍pans大尺度在线| 国产视频欧美视频| 久久久999国产精品| 亚洲综合中文字幕在线观看| www.久久草.com| 91影视免费在线观看| 国产精品丝袜一区二区三区| 久久精品99国产精品酒店日本| 欧美日韩中文在线| 欧美人与性动交| 欧美日韩电影在线观看| 日韩经典一区二区三区| 久久亚洲春色中文字幕| 日韩有码在线视频| 精品视频在线导航| 国产精品自拍视频| 日韩精品亚洲元码| 久久久久久久爱| 91香蕉嫩草神马影院在线观看| 成人免费看吃奶视频网站| 精品国产一区二区三区久久狼黑人| 啊v视频在线一区二区三区| 亚洲国产91精品在线观看| 国产色婷婷国产综合在线理论片a| 国产99久久精品一区二区永久免费| 亚洲人成网站色ww在线| 日韩中文字幕视频在线| 欧美华人在线视频| 国产精品丝袜久久久久久高清| 中文字幕在线日韩| 亚洲美腿欧美激情另类| 裸体女人亚洲精品一区| 最近2019免费中文字幕视频三| 欧美性生交大片免费| 欧美一级视频免费在线观看| 国产不卡一区二区在线播放| 91sa在线看| 青青在线视频一区二区三区| 欧美肥臀大乳一区二区免费视频| 欧美在线日韩在线| 国产精品在线看| 一区二区三区精品99久久| 91免费国产视频| 欧美日韩国产综合新一区| 国产精品吴梦梦| 欧美日韩亚洲视频| 亚洲综合自拍一区| 欧美亚洲日本黄色| 亚洲高清在线观看| 日本精品久久中文字幕佐佐木| 亚洲另类激情图| 日韩精品视频在线观看网址| 亚洲天堂av网| 亚洲一区二区三区四区视频| 久久精品99久久久久久久久| 亚洲精品电影网在线观看| 成人淫片在线看| 日韩av不卡在线| 久久99青青精品免费观看| 中文字幕不卡在线视频极品| 国产精品人成电影| 国产日韩专区在线| 欧美丰满片xxx777| 欧美日韩激情美女| 国产精品网站大全| 97国产精品人人爽人人做| 国产精品久久久久秋霞鲁丝| 97视频在线观看免费| 亚洲www在线| 国产精品爽爽爽爽爽爽在线观看| 国产日本欧美一区| 92看片淫黄大片欧美看国产片| 中文字幕精品网| 国产精品美腿一区在线看| 欧美激情在线有限公司| 国产精品综合不卡av| 91久久综合亚洲鲁鲁五月天| 国产精品大陆在线观看| 日韩免费看的电影电视剧大全| 欧美亚洲成人精品| 国产精品爱久久久久久久| 欧美日韩综合视频网址| 国产精品自产拍在线观看中文| 亚洲乱码国产乱码精品精天堂| 亚洲国产又黄又爽女人高潮的| 亚洲视频在线观看| 人人做人人澡人人爽欧美| 精品亚洲国产视频| 国产精品主播视频| 91在线免费视频| 在线观看日韩欧美| 亚洲国产精品va在看黑人| 国产精品99久久久久久人| 国产美女高潮久久白浆| 不卡av在线网站| 欧美精品少妇videofree| 久久这里有精品视频| 91精品视频网站| 久久综合久久美利坚合众国| 日韩av中文字幕在线免费观看| 亚洲一级一级97网| 2024亚洲男人天堂| 亚洲综合成人婷婷小说| 久久久av免费| 国产性色av一区二区| 亚洲人在线观看| 国产精品高潮呻吟久久av野狼| 久久在线视频在线| 欧美制服第一页| 成人国内精品久久久久一区| 亚洲一区二区三区乱码aⅴ| 日韩视频精品在线| 亚洲人精选亚洲人成在线| 久久影视电视剧免费网站| 欧美极品少妇全裸体| 国产精品久久久久久久久男| 9.1国产丝袜在线观看| 亚洲一区二区三区777| 欧美精品中文字幕一区| 久久99久久久久久久噜噜| 欧美综合一区第一页| 精品国产一区二区在线| 亚洲视频在线播放| 久久久久久久国产| 亚洲精品二三区| 中文字幕久久久| 成人精品aaaa网站| 中文字幕日韩av综合精品| 亚洲在线免费观看| 在线激情影院一区| 丝袜情趣国产精品| 91国内在线视频| 国产在线高清精品| 91精品视频一区|