/** * * jQuery Full-width Slider v1.0 * * * under the MIT (http://www.opensource.org/licenses/mit-license.php) License. * * Copyright 2011 Toro_Unit(www.torounit.com) All rights reserved. * * */ (function($){ $.fn.fullWidthSlider = function(options){ //Default var defaults = { width: 1200, height: 600, time: 5000, slideStage: ".stage", slideMember:"li", slideNavi: ".slideNavi", nav:true, mouseoverStop:true } var config = $.extend(defaults, options); $(this).css({overflow:"hidden",width:"100%",position:"relative",height:config.height}); //迴セ蝨ィ縺ョ陦ィ遉コ var current = 1; //DOM隕∫エ�縺ョ蜿門セ� $self = $(this); if($self.find(config.slideStage).length){ $slideBox = $self.find(config.slideStage); }else{ $slideBox = $self; } $slideNav = $self.find(config.slideStage); //隕句�繧後↑縺�h縺�↓隕∫エ�縺ョ繧ウ繝斐� $slideList = $self.find(config.slideMember); $booby = $self.find(config.slideMember).length-2; $slideList.filter(":last").clone().prependTo($slideBox); $slideList.filter(":eq("+$booby+")").clone().prependTo($slideBox); $slideList.filter(":first").clone().appendTo($slideBox); $slideList.filter(":eq(1)").clone().appendTo($slideBox); //蠅励∴縺溘�縺ァ蜀榊叙蠕� $slideList = $self.find(config.slideMember); var windowWidth = $(window).width(); $(window).resize(function(){ windowWidth = $(window).width(); $slideBox.css({marginLeft:config.width*(-current-1.5)+windowWidth*0.5}); }); //蜈・繧檎黄縺ョCSS $slideBox.css({ width:$slideList.length*config.width, height:config.height, overflow:"hidden", marginLeft:config.width*(-2.5)+windowWidth*0.5 }); //荳ュ霄ォ縺ョ譁ケ $slideList.css({ width:config.width, height:config.height, float:"left" }); //繧「繝九Γ繝シ繧キ繝ァ繝ウ var slide = function(target){ if(target >= $slideList.length-3){ target = 1; $slideBox.css({marginLeft:config.width*(-1.5)+windowWidth*0.5}); } if(target < 1){ target = $slideList.length-4; $slideBox.css({marginLeft:config.width*(-target-2.5)+windowWidth*0.5}); } $slideBox.stop().animate({marginLeft:config.width*(-target-1.5)+windowWidth*0.5}); current = target; } //閾ェ蜍輔せ繧ッ繝ュ繝シ繝ォ var timer; var setTimer = function(target){ clearInterval(timer); timer = setInterval(function(){ current += 1; slide(current); },config.time); } setTimer(current); if(config.nav){ //sideNav $self.append(''); $self.append(''); $(".leftNav,.rightNav").css({ display:"block", position:"absolute", width:config.width, height:config.height, top:0, zIndex:100 }).click(function(){ return false; }); $(".leftNav").css({ left:"0%", }) $(".rightNav").css({ right:"0%", }) $(".leftNav").click(function(){ current = current-1; slide(current); setTimer(current); }); $(".rightNav").click(function(){ current = current+1; slide(current); setTimer(current); }); } if(config.mouseoverStop){ //繧ケ繧ッ繝ュ繝シ繝ォ蛛懈ュ「 $slideBox.mouseover(function(){ clearInterval(timer); }).mouseout(function(){ setTimer(); }); } } })(jQuery);