(function(b) { function a(c, d) { this._init(c, d) } a.prototype._init = function(c, d) { ([]).push.apply(this, Array.prototype.slice.apply(c)); this._options = { auto: true, speed: 20, sideCtrl: true, "defaultView": 0, interval: 3000, activeClass: "active", bottomCtrl: true }; var e = this; b.extend(true, this._options, d); b(this).each(function(g, j) { var k = b(this) , i = k.find(".js-silder-ctrl") , l = k.find(".silder-main"); k.addClass("js-silder"); if (l.length == 0) { var h = b('
'); l = h.children(".silder-main"); k.append(l); j.silderMain = l } else { j.silderMain = l; if (b(e).length > 1) { (function(m, n) { setTimeout(function() { m._calcSilderMainWH(n) }, 550) })(e, k) } else { e._calcSilderMainWH(k) } } if (i.length == 0) { i = b('
'); k.append(i) } j.silderCtrl = i; j.index = e._options.defaultView || 0; if (e._options.data && b.isArray(e._options.data)) { (k).addClass("js-silder"); e._createSilderImg() } j.imgsLen = j.silderMain.children(".silder-main-img").length; var f = k.find(".silder-main-img"); f.each(function(m, n) { if (m != e._options.defaultView) { b(n).css("left", f.eq(0).width()) } }) }); this._createControllBtns(); if (this._options.auto) { if (this._options.preload) { $(".preload").each(function(){ var _this = $(this); var url = _this.attr('data-org'); var src = _this.attr('src'); if(url ==''|| url == src) { return; } var img =new Image(); img.src = url; if(img.complete) { _this.attr('src',url); return; } img.onload =function(){ _this.attr('src',url); } }) } this._autoPlay() } b(this).each(function(f, g) { e._setControllBtnClass(g.silderCtrl.find(".silder-ctrl-con").eq(e._options.defaultView)) }); b(window).on("resize", function() { e._calcSilderMainWH() }) } ; a.prototype._calcSilderMainWH = function(g, e, c) { if (g && g.length && g.length > 0) { var f = g[0] , h = f.silderMain , d = c || h.children(".silder-main-img").eq(0).find("img").height(); h.height(d); } else { b(this).each(function(i, k) { var l = k.silderMain , j = c || l.children(".silder-main-img").eq(0).find("img").height(); l.height(j) }) } } ; a.prototype._createSilderImg = function() { var c = this , d = this._options.data; b(c).each(function(f, g) { var e = b(this) , i = this.silderMain , h = ""; b.each(d, function(l, j) { var k = j.alt ? j.alt : ""; silderMainImg = b('
'), eleA = null , img = b('' + k + ''); if (l == 0) { img.on("load", function(m) { c._calcSilderMainWH(b(this).width(), b(this).height()) }) } if (j.link) { eleA = b(''); silderMainImg.append(eleA.append(img)) } else { silderMainImg.append(img) } i.append(silderMainImg) }) }) } ; a.prototype._createControllBtns = function() { var c = this; b(c).each(function(h, e) { var k = b(this) , f = this.silderMain , l = this.silderCtrl , m = f.children(".silder-main-img").length , g = 0 , d = ""; if (c._options.sideCtrl) { d += '<' } if (c._options.bottomCtrl) { for (; g < m; g++) { var j = '' + (g + 1) + ""; d += j } } if (c._options.sideCtrl) { d += '>' } l.append(b(d)) }); this._ctrlBtnBindEvents() } ; a.prototype._ctrlBtnBindEvents = function() { var c = this; b(c).each(function(d, e) { this.silderCtrl.children().on("click", function() { var f = b(e).width() , h = e.silderMain.children(".silder-main-img"); if (b(this).hasClass("silder-ctrl-next")) { c._play(b(e)) } else { if (b(this).hasClass("silder-ctrl-prev")) { a.animate(h[e.index], { "left": f }, null , c._options.speed); e.index -= 1; if (e.index < 0) { e.index = e.imgsLen - 1 } h[e.index].style.left = -f + "px"; a.animate(h[e.index], { "left": 0 }, null , c._options.speed); c._setControllBtnClass(b(this).parent().find(".silder-ctrl-con").eq(e.index)) } else { var g = b(this).children("span").html() * 1 - 1; if (g > e.index) { a.animate(h[e.index], { "left": -f }, null , c._options.speed); h[g].style.left = f + "px" } else { if (g < e.index) { a.animate(h[e.index], { "left": f }, null , c._options.speed); h[g].style.left = -f + "px" } } a.animate(h[g], { "left": 0 }); c._setControllBtnClass(b(this)); e.index = g } } }) }) } ; a.prototype._play = function(c) { var f = this , d = c[0] , g = d.imgsLen , e = c.width() , h = d.silderMain.children(".silder-main-img"); a.animate(h.eq(d.index)[0], { "left": -e }, null , this._options.speed); d.index += 1; if (d.index > d.imgsLen - 1) { d.index = 0 } h.eq(d.index)[0].style.left = e + "px"; a.animate(h.eq(d.index)[0], { "left": 0 }, null , this._options.speed); this._setControllBtnClass(d.silderCtrl.find(".silder-ctrl-con").eq(d.index)) } ; a.prototype._autoPlay = function() { var e = this , d = b(e) , c = isNaN(e.interval * 1) ? 5000 : e.interval; if (e._options.auto) { d.each(function(g, h) { clearInterval(this.timer); var f = b(this); this.timer = setInterval(function() { e._play(f) }, c); f.hover(function() { clearInterval(this.timer) }, function() { clearInterval(this.timer); if (slide_status==1){ this.timer = setInterval(function() { e._play(f) }, c) } }) var _this=this; var slide_status = 1; $(".slide-btn").click(function(){ if (slide_status==1){ $(this).attr("src","images/play-btn.png"); slide_status=0; clearInterval(_this.timer); }else{ $(this).attr("src","images/pause-btn.png"); slide_status=1; _this.timer = setInterval(function() { e._play(f) }, c); } }) }) } } ; a.prototype._setControllBtnClass = function(d) { var c = typeof this._options.activeClass != "string" ? "active" : this._options.activeClass; d.addClass(c).siblings(".silder-ctrl-con").removeClass(c) } ; a.animate = function(g, e, c, f) { var d = this; clearInterval(g.timer); g.timer = setInterval(function() { var i = true; for (var h in e) { var k = parseInt(b(g).css(h)) , j = (parseInt(e[h]) - k) / 10; j = j > 0 ? Math.ceil(j) : Math.floor(j); if (k != e[h]) { i = false } if (h == "zIndex") { g.style.zIndex = e[h] } else { g.style[h] = k + j + "px" } } if (i) { clearInterval(g.timer); if (c) { c.call(window) } } }, f || 20) } ; b.silder = function(c, d) { c = b(c); new a(c,d); return c } ; b.fn.silder = function(c) { new a(this,c); return this; } })(jQuery);