// JavaScript Document ;(function($){ var slider=function(slider,nature){ var _this=this; this.pos=0; this.slider=slider; this.data={ "slideType":"roll", "speed":400, "delay":2000, "hasNav":false, "sliderHover":false }; $.extend(this.data,nature); this.ul=this.slider.children('ul'); this.li=this.ul.children('li'); this.wd=this.slider.width(); this.length=this.li.length; this.setSliderValue(); if(this.li.length<=1){ return; } if(this.li.length<=this.data.pic){ return; } if(this.data.hasNav&&this.data.slideType!='seamless'){ this.nav=$(this.data.navName); this.setSliderNav(); this.nav.find('span').click(function(){ $(this).addClass('cur').siblings().removeClass('cur'); var index=$(this).index(); _this.navClickMove(index,_this); }); }; if(this.data.sliderHover){ this.slider.hover(function(){ window.clearInterval(_this.timer); },function(){ _this.autoPlay(); }); }; this.autoPlay(); if(this.data.detail){ $(_this.data.detail).text(this.li.eq(0).find('a').attr('content')); }; if(this.data.leftright&&this.data.btnprev&&this.data.btnnext){ $(this.data.btnnext).hover(function(){ window.clearInterval(_this.timer); },function(){ _this.autoPlay(); }); $(this.data.btnprev).hover(function(){ window.clearInterval(_this.timer); },function(){ _this.autoPlay(); }) $(this.data.btnnext).click(function(){ if(!_this.ul.is(':animated')&&!_this.li.is(':animated')){ _this.nextClick(_this); }; }); $(this.data.btnprev).click(function(){ if(!_this.ul.is(':animated')&&!_this.li.is(':animated')){ _this.prevClick(_this); }; }); }else{ return false; }; }; slider.prototype={ prevClick:function(_this){ var page; if(_this.data.slideType=="fade"){ _this.li.each(function(i){ if($(this).css('display')!='none'){ page=i; } }) _this.li.eq(page).fadeOut(_this.data.speed); if(page==0){ page=(_this.li.length-1) }else{ page--; } _this.li.eq(page).css({'z-index':'10'}).fadeIn(_this.data.speed,function(){ $(this).css({'z-index':'0'}) }); if(_this.nav){ _this.nav.find('span').eq(page).addClass('cur').siblings().removeClass('cur'); }; if(_this.data.detail){ var con=this.li.eq(page).find('a').attr('content'); $(_this.data.detail).text(con); }; } if(_this.data.slideType=="seamless"){ _this.li.each(function(i){ var left=parseInt($(this).css('left')); if(left>=_this.wd*(_this.length-1)){ page=i; }; }); _this.li.eq(page).css({'left':-_this.wd}); _this.li.animate({ 'left':'+='+_this.wd },_this.data.speed); _this.li.each(function(){ var left=-parseInt($(this).css('left')); if(left==0){ var con=$(this).index()!=0?$(this).prev().find('a').attr('content'):_this.li.eq(_this.li.length-1).find('a').attr('content'); $(_this.data.detail).text(con); } }) }else if(_this.data.slideType=="roll"){ var left=-parseInt(_this.ul.css('left')); var page=left/_this.wd; if(page==0){ _this.ul.animate({ 'left':-_this.wd*(_this.length-1) },_this.data.speed); page=_this.length; }else{ _this.ul.animate({ 'left':'+='+_this.wd },_this.data.speed); }; _this.nav.find('span').eq(page-1).addClass('cur') .siblings().removeClass('cur'); if(_this.data.detail){ var con=this.li.eq(page-1).find('a').attr('content'); $(_this.data.detail).text(con); }; }; }, nextClick:function(_this){ if(_this.data.slideType=="fade"){ _this.li.each(function(i){ if($(this).css('display')!='none'){ page=i; } }) _this.li.eq(page).fadeOut(_this.data.speed); if(page==_this.li.length-1){ page=0 }else{ page++; } _this.li.eq(page).css({'z-index':'10'}).fadeIn(_this.data.speed,function(){ $(this).css({'z-index':'0'}) }); if(_this.nav){ _this.nav.find('span').eq(page).addClass('cur').siblings().removeClass('cur'); }; if(_this.data.detail){ var con=this.li.eq(page).find('a').attr('content'); $(_this.data.detail).text(con); }; } if(_this.data.slideType=="seamless"){ _this.li.animate({ 'left':'-='+_this.wd },_this.data.speed,function(){ _this.li.each(function(){ var left=-parseInt($(this).css('left')); if(left>=_this.wd){ $(this).css({'left':_this.wd*(_this.length-1)}) }; }); }); _this.li.each(function(){ var left=-parseInt($(this).css('left')); if(left==0){ var con=$(this).index()!=(_this.li.length-1)?$(this).next().find('a').attr('content'):_this.li.eq(0).find('a').attr('content'); $(_this.data.detail).text(con); } }) }else if(_this.data.slideType=="roll"){ var left=-parseInt(_this.ul.css('left')); var page=left/_this.wd; if(page==_this.length-1){ page=-1; }; if(left>=_this.wd*(_this.length-1)){ _this.ul.animate({ 'left':0 },_this.data.speed); }else{ _this.ul.animate({ 'left':'-='+_this.wd },_this.data.speed); } _this.nav.find('span').eq(page+1).addClass('cur') .siblings().removeClass('cur'); if(_this.data.detail){ var con=this.li.eq(page+1).find('a').attr('content'); $(_this.data.detail).text(con); }; }; }, navClickMove:function(index,_this){ if(_this.data.slideType=="fade"){ _this.li.eq(index).css({'z-index':'10'}).fadeIn(_this.data.speed,function(){ $(this).css({'z-index':0}); }).siblings().fadeOut(); if(_this.data.detail){ var con=this.li.eq(index).find('a').attr('content'); $(_this.data.detail).text(con); }; }else if(_this.data.slideType=="roll"){ _this.ul.animate({ 'left':-_this.wd*index }); if(_this.data.detail){ var con=this.li.eq(index).find('a').attr('content'); $(_this.data.detail).text(con); }; }else if(_this.data.slideType='seamless'){ return; } }, autoPlay:function(){ var index; var _this=this; this.timer=window.setInterval(function(){ if(_this.data.slideType=="fade"){ _this.li.each(function(i){ if($(this).css('display')!=='none'){ index=i; }; }); _this.li.eq(index).fadeOut(_this.data.speed); if(index==_this.li.length-1){ index=-1; }; _this.li.eq(index+1).css({'z-index':'10'}).fadeIn(_this.data.speed,function(){ $(this).css({'z-index':'0'}) }); if(_this.nav){ _this.nav.find('span').eq(index+1).addClass('cur').siblings().removeClass('cur'); }; if(_this.data.detail){ var con=_this.li.eq(index+1).find('a').attr('content'); $(_this.data.detail).text(con); } }else if(_this.data.slideType=="seamless"){ if(_this.data.delay>=200){ _this.li.animate({'left':'-='+_this.wd},_this.data.speed,function(){ $(this).each(function(){ var left=-parseInt($(this).css('left')); if(left>=_this.wd){ $(this).css({'left':_this.wd*(_this.length-1)}); }; }); }); _this.li.each(function(){ var left=-parseInt($(this).css('left')); if(left==0){ var con=$(this).index()!=(_this.li.length-1)?$(this).next().find('a').attr('content'):_this.li.eq(0).find('a').attr('content'); $(_this.data.detail).text(con); } }) }else{ _this.li.css({'left':'-='+_this.data.distance+'px'}); _this.li.each(function(){ var left=-parseInt($(this).css('left')); if(left>=_this.li.width()+_this.data.gap){ $(this).css({'left':(_this.li.width()+_this.data.gap)*(_this.length-1)}); }; }); }; }else if(_this.data.slideType=="roll"){ var left=-parseInt(_this.ul.css('left')); var page=left/_this.wd; if(page==(_this.length-1)){ _this.ul.animate({ 'left':0 },_this.data.speed); page=-1; }else{ _this.ul.animate({ 'left':'-='+_this.wd },_this.data.speed); }; if(_this.data.detail){ var con=_this.li.eq(page+1).find('a').attr('content'); $(_this.data.detail).text(con); }; if(_this.data.hasNav){ _this.nav.find('span').eq(page+1).addClass('cur') .siblings().removeClass('cur'); } } },_this.data.delay); }, setSliderNav:function(){ var span=''; for(var i=0;i