/* superslide1.2 -- copyright ©2012 大话主席 */ (function($){ $.fn.slide=function(options){ $.fn.slide.deflunt={ effect : "fade", //效果 || fade:渐显; || top:上滚动;|| left:左滚动;|| toploop:上循环滚动;|| leftloop:左循环滚动;|| topmarquee:上无缝循环滚动;|| leftmarquee:左无缝循环滚动; autoplay:false, //自动运行 delaytime : 500, //效果持续时间 intertime : 2500,//自动运行间隔。当effect为无缝滚动的时候,相当于运行速度。 defaultindex : 0,//默认的当前位置索引。0是第一个 titcell:".hd li",//导航元素 maincell:".bd",//内容元素的父层对象 trigger: "mouseover",//触发方式 || mouseover:鼠标移过触发;|| click:鼠标点击触发; scroll:1,//每次滚动个数。 vis:1,//visible,可视范围个数,当内容个数少于可视个数的时候,不执行效果。 titonclassname:"on",//当前位置自动增加的class名称 autopage:false,//系统自动分页,当为true时,titcell则为导航元素父层对象,同时系统会在titcell里面自动插入分页li元素(1.2版本新增) prevcell:".prev",//前一个按钮元素。 nextcell:".next"//后一个按钮元素。 }; return this.each(function() { var opts = $.extend({},$.fn.slide.deflunt,options); var index=opts.defaultindex; var prevbtn = $(opts.prevcell, $(this)); var nextbtn = $(opts.nextcell, $(this)); var navobj = $(opts.titcell, $(this));//导航子元素结合 var navobjsize = navobj.size(); var conbox = $(opts.maincell , $(this));//内容元素父层对象 var conboxsize=conbox.children().size(); var slideh=0; var slidew=0; var selfw=0; var selfh=0; var autoplay = opts.autoplay; var inter=null;//setinterval名称 var oldindex = index; if(conboxsize"+(i+1)+"") } var navobj = $("li", navobj);//重置导航子元素对象 } conbox.children().each(function(){ //取最大值 if( $(this).width()>selfw ){ selfw=$(this).width(); slidew=$(this).outerwidth(true); } if( $(this).height()>selfh ){ selfh=$(this).height(); slideh=$(this).outerheight(true); } }); switch(opts.effect) { case "top": conbox.wrap('
').css( { "position":"relative","padding":"0","margin":"0"}).children().css( {"height":selfh} ); break; case "left": conbox.wrap('
').css( { "width":conboxsize*slidew,"position":"relative","overflow":"hidden","padding":"0","margin":"0"}).children().css( {"float":"left","width":selfw} ); break; case "leftloop": case "leftmarquee": conbox.children().clone().appendto(conbox).clone().prependto(conbox); conbox.wrap('
').css( { "width":conboxsize*slidew*3,"position":"relative","overflow":"hidden","padding":"0","margin":"0","left":-conboxsize*slidew}).children().css( {"float":"left","width":selfw} ); break; case "toploop": case "topmarquee": conbox.children().clone().appendto(conbox).clone().prependto(conbox); conbox.wrap('
').css( { "height":conboxsize*slideh*3,"position":"relative","padding":"0","margin":"0","top":-conboxsize*slideh}).children().css( {"height":selfh} ); break; } //效果函数 var doplay=function(){ switch(opts.effect) { case "fade": case "top": case "left": if ( index >= navobjsize) { index = 0; } else if( index < 0) { index = navobjsize-1; } break; case "leftmarquee":case "topmarquee": if ( index>= 2) { index=1; } else if( index<0) { index = 0; } break; case "leftloop": case "toploop": var tempnum = index - oldindex; if( navobjsize>2 && tempnum==-(navobjsize-1) ) tempnum=1; if( navobjsize>2 && tempnum==(navobjsize-1) ) tempnum=-1; var scrollnum = math.abs( tempnum*opts.scroll ); if ( index >= navobjsize) { index = 0; } else if( index < 0) { index = navobjsize-1; } break; } switch (opts.effect) { case "fade":conbox.children().stop(true,true).eq(index).fadein(opts.delaytime).siblings().hide();break; case "top":conbox.stop(true,true).animate({"top":-index*opts.scroll*slideh},opts.delaytime);break; case "left":conbox.stop(true,true).animate({"left":-index*opts.scroll*slidew},opts.delaytime);break; case "leftloop": if(tempnum<0 ){ conbox.stop(true,true).animate({"left":-(conboxsize-scrollnum )*slidew},opts.delaytime,function(){ for(var i=0;i= 0){ for(var i=0;i= 0){ for(var i=0;i