// 轮播图插件 ;(function($){ var fadeslide = function(carousel){ var self = this; // 保存单个轮播图对象 this.carousel = carousel;//轮播大容器 this.setting = { "pictures" : ".banner li", "indexs" : ".bannerindex dd", "btnprev" : ".prev", "btnnext" : ".next", "infos" : ".title p", "autoplay" : true, "delay" : 5000 }; //默认配置参数 $.extend(this.setting,this.getsetting()); this.itempics = carousel.find(this.setting.pictures); this.itemindexs = carousel.find(this.setting.indexs); this.iteminfos = carousel.find(this.setting.infos); this.prevbtn = carousel.find(this.setting.btnprev); this.nextbtn = carousel.find(this.setting.btnnext); this.piclens = this.itempics.length; this.delay = this.setting.delay; this.timer = 0; this.cindex = 0; this.pindex = -1; this.citempic = this.itempics.eq(this.cindex); this.citemindex = this.itemindexs.eq(this.cindex); // 设置默认状态 this.setdefault(); // 开始运行 if(this.piclens > 1){ this.gofade(); } // 左切换 this.prevbtn.click(function(){ self.gofade(self.indexreduce()); }); // 右切换 this.nextbtn.click(function(){ self.gofade(self.indexadd()); }); // 索引移动切换 this.itemindexs.hover(function(){ self.cindex = $(this).index(); if(self.cindex === self.pindex) return; self.gofade(self.cindex); }); // 鼠标经过图片暂停自动运行 this.carousel.hover(function(){ cleartimeout(self.timer); },function(){ self.autoplay(); }); }; fadeslide.prototype = { // 自动运行 autoplay:function(){ var self = this; this.timer = settimeout(function(){ self.gofade(self.indexadd()); },this.delay); }, // 淡入淡出切换 gofade:function(cindex){ cleartimeout(this.timer); this.pindex = this.cindex; this.citempic.stop(false,true).fadeout(800); this.citempic = this.itempics.eq(this.cindex).stop(false,true).fadein(800); // 索引切换 this.citemindex.removeclass("on"); this.citemindex = this.itemindexs.eq(this.cindex).addclass("on"); // 文本切换 this.iteminfos.hide(); this.iteminfos.eq(this.cindex).fadein(400); if(this.piclens > 1){ // 自动运行 this.autoplay(); } }, // 设置默认状态 setdefault:function(){ this.itempics.first().show(); if(this.itemindexs.length == 1){ this.citemindex.hide(); this.prevbtn.hide(); this.nextbtn.hide(); } }, // 索引增加 indexadd:function(){ return (this.cindex === this.piclens-1) ? this.cindex = 0 : ++this.cindex; }, // 索引减少 indexreduce:function(){ return (this.cindex === 0) ? this.cindex = this.piclens-1 : --this.cindex; }, //获取人工参数配置 getsetting:function(){ // console.log(this.carousel); var setting = this.carousel.attr("data-setting"); if(setting && setting!=""){ return $.parsejson(setting); }else{ return {}; }; } }; fadeslide.init = function(dom){ var _this_ = this; dom.each(function(){ new _this_($(this)); }); }; window["fadeslide"] = fadeslide; })(jquery);