! 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 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);