! 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() { // alert(s.count) 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; // alert(1) 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 img", function() { s.toPrev() }), s.ul.on("click", ".item3 img", 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);