function Banner(obj){ this.bannerUl = obj.bannerUl; this.bannerLi = obj.bannerLi; this.banIco = obj.banIco; this.Img = obj.Img; this.length = obj.length; this.speed = obj.speed; this.limit = obj.limit; this.width = obj.width ? obj.width : obj.bannerUl.parent().width(); this.timer = null; this.now = 0; this.left = 0; this.init(); }; Banner.prototype = { init : function(){ this.Position(); this.Resize(); this.Move(); this.Custom(); }, Position : function(){ var frag = document.createDocumentFragment(); this.bannerUl.css({width: this.length * this.width + "px"}); this.bannerLi.css({width: this.width + "px"}); this.banIco.css({width: this.limit + "px", marginLeft: -this.limit/2 + "px"}); for(var i=0; i= _this.length - 1){ _this.left = 0; _this.bannerUl.animate({left: _this.left + "px"}, 400); _this.now = 0; _this.banIco.find("i").removeClass("active"); _this.banIco.find("i").eq(_this.now).addClass("active"); }else{ _this.left -= _this.width; _this.bannerUl.animate({left: _this.left + "px"}, 400); _this.now++; _this.banIco.find("i").removeClass("active"); _this.banIco.find("i").eq(_this.now).addClass("active"); }; } }; function Center(obj){ this.elem = obj.elem; this.init(); }; Center.prototype = { init : function(){ var _this = this; this.Position(); $(window).on("resize", function(){ _this.Resize(); }); }, Position : function(){ var winH = $(window).height(), elemH = this.elem.height(); if(this.elem.height() >= winH) this.elem.css({top:0}); else this.elem.css({top: Math.ceil((winH - elemH)/2) + "px" }); }, Resize : function(){ this.Position(); } }; function Exchange(obj){ this.elem = obj.elem; this.but = obj.but; this.event = obj.event; this.maxNum = obj.maxNum; this.minNum = obj.minNum; this.init(); }; Exchange.prototype = { init : function(){ this.Bind(); }, Bind : function(){ var _this = this, mask = true; this.but.on(_this.event, function(){ if(mask){ _this.Move(_this.minNum); mask = false; }else{ _this.Move(_this.maxNum); mask = true; }; }); }, Move : function(value){ this.elem.animate({width: value + "px"}, 300); } }; function ReAdd(obj){ this.elem = obj.elem; this.type = obj.type; this.length = obj.elem.find(obj.type).length; this.Class = obj.Class; this.event = obj.event; this.mask = obj.mask; this.tab_elem = obj.tab_elem; this.Classt = obj.Classt; this.init(); }; ReAdd.prototype = { init : function(){ this.Mover(); }, Mover : function(){ var _this = this; if(_this.mask){ this.elem.find(_this.type).each(function(i){ $(this).on(_this.event, function(){ $(this).siblings(_this.type).removeClass(_this.Class); $(this).addClass(_this.Class); _this.tab_elem.removeClass(_this.Classt); _this.tab_elem.eq(i).addClass(_this.Classt); }); }); }else{ this.elem.find(_this.type).on(_this.event, function(){ $(this).siblings(_this.type).removeClass(_this.Class); $(this).addClass(_this.Class); }); } } }; function Nav(obj){ this.elem = obj.elem; this.maxNum = 60; this.minNum = 0; this.init(); }; Nav.prototype = { init : function(){ this.Mover(); this.Mleave(); }, Mover : function(){ var _this = this; this.elem.find("li").on("mouseover", function(){ $(this).find("a").animate({top: _this.minNum + "px"}, 200); }); }, Mleave : function(){ var _this = this; this.elem.find("li").on("mouseleave", function(){ $(this).find("a").stop(true, true).animate({top: _this.maxNum + "px"}, 200); }); } }; function Slide(obj){ this.parent = obj.parent; this.length = obj.length; this.prev = obj.prev; this.next = obj.next; this.maxW = obj.maxW; this.maxH = obj.maxH; this.maxL = obj.maxL; this.maxT = obj.maxT; this.midW = obj.midW; this.midH = obj.midH; this.midLL = obj.midLL; this.midLRT = obj.midLRT; this.midRL = obj.midRL; this.minW = obj.minW; this.minH = obj.minH; this.minLL = obj.minLL; this.minLRT = obj.minLRT; this.minRL = obj.minRL; this.now = 0; this.init(); }; Slide.prototype = { init : function(){ this.Position(); this.Move(); }, Position : function(){ if(this.length >= 5){ for(var i=0; i<5; i++){ this.parent.find("li").eq(i).addClass("slide_" + i); i === 2 ? this.parent.find("li").eq(i).addClass("active") : ""; }; }else{ switch (this.length){ case 1: this.parent.find("li").eq(0).addClass("slide_" + 2 + " active"); this.prev.addClass("left_all"); this.next.addClass("right_all"); this.now = -2; break; case 2: this.parent.find("li").eq(0).addClass("slide_" + 1); this.parent.find("li").eq(1).addClass("slide_" + 2 + " active"); this.next.addClass("right_all"); this.now = -1; break; case 3: this.parent.find("li").eq(0).addClass("slide_" + 0); this.parent.find("li").eq(1).addClass("slide_" + 1); this.parent.find("li").eq(2).addClass("slide_" + 2 + " active"); this.next.addClass("right_all"); break; default: for(var i=0; i= -2){ if(this.now >= -1){ this.parent.find("li").eq(this.now + 1).css({zIndex: 2}).animate({ width: this.minW + "px", height: this.minH + "px", left: this.minLL + "px", top: this.minLRT + "px" }, 400); }; this.parent.find("li").eq(this.now + 2).css({zIndex: 3}).animate({ width: this.midW + "px", height: this.midH + "px", left: this.midLL + "px", top: this.midLRT + "px" }, 400).find("em").fadeIn(400); this.parent.find("li").eq(this.now + 3).css({zIndex: 4}).animate({ width: this.maxW + "px", height: this.maxH + "px", left: this.maxL + "px", top: this.maxT + "px" }, 400).find("em").fadeOut(400); this.parent.find("li").eq(this.now + 4).css({zIndex: 3}).animate({ width: this.midW + "px", height: this.midH + "px", left: this.midRL + "px", top: this.midLRT + "px" }, 400); this.parent.find("li").eq(this.now + 5).css({zIndex: 2}).fadeIn(400); this.now++; }; }, Next : function(self, side){ if(-this.now === 2) return; self.removeClass("right_all"); if(-this.now === 1){ side.addClass("left_all"); }; this.parent.find("li").eq(this.now + 4).css({zIndex: 1}).fadeIn(400); this.parent.find("li").eq(this.now + 3).css({zIndex: 2}).animate({ width: this.minW + "px", height: this.minH + "px", left: this.minRL + "px", top: this.minLRT + "px" }, 400); this.parent.find("li").eq(this.now + 2).css({zIndex: 3}).animate({ width: this.midW + "px", height: this.midH + "px", left: this.midRL + "px", top: this.midLRT + "px" }, 400).find("em").fadeIn(400); this.parent.find("li").eq(this.now + 1).css({zIndex: 4}).animate({ width: this.maxW + "px", height: this.maxH + "px", left: this.maxL + "px", top: this.maxT + "px" }, 400).find("em").fadeOut(400); if(-this.now === 1) { this.now--; return; }; this.parent.find("li").eq(this.now).css({zIndex: 3}).animate({ width: this.midW + "px", height: this.midH + "px", left: this.midLL + "px", top: this.midLRT + "px" }, 400); this.now--; } }; //婊戝姩闂ㄦ晥鏋� function Slither(obj){ this.elem = obj.elem; this.findType = obj.findType; this.length = obj.elem.find(obj.findType).length; this.prev = obj.prev; this.next = obj.next; this.number = obj.number ? obj.number : 1; //姣忎竴娆$晫闈㈡樉绀虹殑涓暟 this.width = obj.width; //姣忎竴涓殑瀹藉害 this.distance = obj.distance; //姣忔绉诲姩鐨勮窛绂� this.direction = obj.direction; //绉诲姩鐨勬柟鍚戯紝涓婃垨鑰呭乏 this.timespan = obj.timespan ? obj.timespan : 200; //杩愬姩闂撮殧鏃堕棿锛岄粯璁�200姣 this.value = obj.value ? obj.value : 0; //瀵硅薄浣嶇疆鍒濆鍊� this.now = 0; this.init(); }; Slither.prototype = { init : function(){ this.elem.css({width: this.width * this.length + "px"}); this.Click(); }, Click : function(){ var _this = this; this.next.click(function(){ _this.Move(true); }); this.prev.click(function(){ _this.Move(false); }); }, Move : function(mask){ if(this.length <= this.number) return; if(mask){ if(this.direction == "left"){ if(this.now >= this.length - this.number){ this.value = 0; this.elem.animate({left : this.value + "px"}, this.timespan); this.now = 0; }else{ this.value -= this.distance; this.elem.animate({left : this.value + "px"}, this.timespan); this.now++; }; }else{ if(this.now >= this.length - this.number){ this.value = 0; this.elem.animate({top : this.value + "px"}, this.timespan); this.now = 0; }else{ this.value -= this.distance; this.elem.animate({top : this.value + "px"}, this.timespan); this.now++; }; }; }else{ if(this.direction == "left"){ if(!this.now){ this.value = -(this.length - this.number) * this.distance; this.elem.animate({left : this.value + "px"}, this.timespan); this.now = this.length - this.number; }else{ this.value += this.distance; this.elem.animate({left : this.value + "px"}, this.timespan); this.now--; } }else{ if(!this.now){ this.value = -(this.length - this.number) * this.distance; this.elem.animate({top : this.value + "px"}, this.timespan); this.now = this.length - this.number; }else{ this.value += this.distance; this.elem.animate({top : this.value + "px"}, this.timespan); this.now--; } } } } };