/*-----------------------------------------------------------------------------------------/ * jquery plugin - slide show(or, switch tab) written by kevin sheep(http://www.ks-pe.com) * based on jquery 1.2.6+ * jquery婊戝姩鍒囨崲鎻掍欢 ver 1.2.0 * * defaultindex - 榛樿閫変腑鐨勬爣绛剧储寮曪紝浠?寮€濮? * titonclassname - 鏍囩閫変腑鏃剁殑鏍峰紡 * titcell - 鑷畾涔夋爣棰樻爣绛撅紝鏀寔閫夋嫨绗? * maincell - 鑷畾涔夋爣棰樻爣绛撅紝鏀寔閫夋嫨绗? * delaytime - 寤惰繜瑙﹀彂鏃堕棿. 褰撹繖涓椂闂村皬浜庡垏鎹㈠姩鐢绘晥鏋滄椂闂存椂, 鍔ㄧ敾灏嗚绂佺敤 * intertime - 鑷姩鍒囨崲鏃堕棿. 褰撹繖涓椂闂村ぇ浜?鏃? 鏍囩灏嗗畾鏃惰嚜鍔ㄥ垏鎹? * trigger - 婊戝姩瑙﹀彂鏂瑰紡. 榛樿涓篶lick, 鍙€夋嫨mouseover * effect - 鍒囨崲鍔ㄧ敾. 榛樿涓嶄娇鐢ㄥ姩鐢? 鐩墠浠呮彁渚沠ade(娣″嚭), slide(鍚戜笅灞曞紑)涓ょ * omitlinks - 鏄惁蹇界暐甯﹂摼鎺ユ爣绛撅紝榛樿涓哄惁 * debug - 璋冭瘯妯″紡. 榛樿鍏抽棴 /*----------------------------------------------------------------------------------------*/ jquery.fn.switchtab = function(settings) { settings = jquery.extend({//鍙厤缃弬鏁? defaultindex: 0, titonclassname: "on", titcell: "dt span", maincell: "dd", delaytime: 250, intertime: 0, trigger: "click", effect: "", omitlinks: false, debug: "", ismap: false }, settings, {//鎻掍欢淇℃伅 version: 120 }); this.each(function() { var st; var curtagindex = -1; var obj = jquery(this); if(settings.omitlinks){ settings.titcell = settings.titcell + "[href^='#']"; } var otit = obj.find(settings.titcell); var otit = obj.find("dt").children("a"); //var otit = $(".tab dt").children("a"); var omain = obj.find(settings.maincell); var cellcount = otit.length;//鍙垏鎹釜鏁? var showstcon = function (oi){ if(oi != curtagindex || settings.ismap){ otit.eq(curtagindex).removeclass(settings.titonclassname); omain.hide(); obj.find(settings.titcell + ":eq(" + oi + ")").addclass(settings.titonclassname); if(settings.delaytime <250 && settings.effect != "")settings.effect = ""; if(settings.effect == "fade"){ obj.find(settings.maincell + ":eq(" + oi + ")").fadein({queue: false, duration: 250}); }else if(settings.effect == "slide"){ obj.find(settings.maincell + ":eq(" + oi + ")").slidedown({queue: false, duration: 250}); }else{ obj.find(settings.maincell + ":eq(" + oi + ")").show(); } curtagindex = oi; } }; var shownext = function (){ otit.eq(curtagindex).removeclass(settings.titonclassname); omain.hide(); if(++curtagindex >= cellcount)curtagindex = 0; otit.eq(curtagindex).addclass(settings.titonclassname); omain.eq(curtagindex).show(); //showstcon(curtagindex); }; //鏍规嵁defaultindex鍒濆鍖? if(!settings.ismap) { showstcon(settings.defaultindex); } // if(settings.intertime > 0){ var sinterval = setinterval(function(){ shownext(); }, settings.intertime); } //澶勭悊浜や簰浜嬩欢 otit.each(function(i, ele){ if(settings.trigger=="click"){ jquery(ele).click(function(){ showstcon(i); return false;//鑻ユ湁閾炬帴鑰岄€夋嫨浜哻lick妯″紡, 閾炬帴涓嶈捣浣滅敤 }); }else if(settings.delaytime > 0){ jquery(ele).hover(function(){ st = settimeout(function(){//寤舵椂瑙﹀彂 showstcon(i); st = null; }, settings.delaytime); },function(){ if(st!=null)cleartimeout(st); }); }else{ jquery(ele).mouseover(function(){ showstcon(i); }); } }); }); if(settings.debug!="")alert(settings[settings.debug]); return this; };