slide.min.js 2.3 KB

1
  1. !function(e){e.fn.slideCarsousel=function(t){t=e.extend({},e.fn.slideCarsousel.defaultSetting,t);var i=e(this),n=i.children("ul.item-list"),r=n.children(),s={slideCarousel:i,count:r.length,ul:n,liList:r,currentIndex:0,indicatorList:i.children(".indicator-list").children("a"),itemPrev:i.children(".controls").children(".item-prev"),itemNext:i.children(".controls").children(".item-next"),itemClassArr:[],init:function(){for(var e=0,t=s.count;e<t;e++)s.itemClassArr.push("item"+e);s.slideAutoChange()},slideAutoChange:function(){t.isAutoChange&&(t.slideInterval=setInterval(function(){s.toNext()},t.direction))},toNext:function(){s.itemClassArr.unshift(s.itemClassArr[s.count-1]),s.itemClassArr.pop(),s.currentIndex++,s.currentIndex=s.currentIndex>=s.count?0:s.currentIndex,s.resetItemClass()},toPrev:function(){s.itemClassArr.push(s.itemClassArr[0]),s.itemClassArr.shift(),s.currentIndex--,s.currentIndex=s.currentIndex<0?s.count-1:s.currentIndex,s.resetItemClass()},processIndicatorEvent:function(t){var i=t-s.currentIndex;if(0!=i){if(s.currentIndex=t,i>0){n=s.itemClassArr.splice(s.itemClassArr.length-i);return s.itemClassArr=e.merge(n,s.itemClassArr),void s.resetItemClass()}if(i<0){var n=s.itemClassArr.splice(0,-i);return s.itemClassArr=e.merge(s.itemClassArr,n),void s.resetItemClass()}}},resetItemClass:function(){e.each(s.liList,function(t,i){e(i).removeClass().addClass(s.itemClassArr[t])}),s.indicatorList.removeClass("selected").eq(s.currentIndex).addClass("selected"),s.processCallbackFunc(s.currentIndex)},processCallbackFunc:function(e){null!=t.callbackFunc&&void 0!=t.callbackFunc&&t.callbackFunc(e)}};switch(s.init(),s.itemNext.click(function(){s.toNext()}),s.itemPrev.click(function(){s.toPrev()}),t.indicatorEvent){case"click":s.indicatorList.click(function(){s.processIndicatorEvent(e(this).attr("data-slide-index"))});break;case"mouseover":s.indicatorList.mouseover(function(){s.processIndicatorEvent(e(this).attr("data-slide-index"))})}switch(t.slideType){case"2d":break;case"3d":s.ul.on("click",".item1",function(){s.toPrev()}),s.ul.on("click",".item3",function(){s.toNext()})}s.slideCarousel.mouseover(function(){clearInterval(t.slideInterval)}).mouseleave(function(){s.slideAutoChange()})},e.fn.slideCarsousel.defaultSetting={slideInterval:"slideInterval",isAutoChange:!0,direction:5e3,callbackFunc:null,indicatorEvent:"click",slideType:"2d"}}(jQuery);