/*************************************************************** * * @name : rollingBanner js * @version : 1.0 * @author : Park Soo Hyun (shpark7502@naver.com) * º» ½ºÅ©¸³Æ®¸¦ ¹«´ÜÀ¸·Î µµ¿ë½Ã ¹ýÀû ó¹úÀ» ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. * ***************************************************************/ $(function() { var $index = 1; var $banner = $("#rollingBanner .rolling ul"); var $banner_count = $banner.children().length; var $banner_size; var $banner_pos; var $cloneBanners = new Array(); var $timer; var $delay = 10; // ÀÚµ¿ ·Ñ¸µ ´ÜÀ§ (´Ü±â : ms) // ¹è³Ê ÃʱâÈ­ function bannerInit() { $banner_size = $banner.children().eq(0).width(); var $total_size = $banner_size * $banner_count; var $wrapper_size = $("#rollingBanner").width(); var $need_count; // ¹è³Ê °¹¼ö°¡ ·Ñ¸µ¹è³Ê Àüü Æøº¸´Ù ÀûÀ» °æ¿ì ÀÚµ¿ º¹»ç if($wrapper_size >= $total_size) { for(i=0; i<=100; i++) { if($banner_size * i > $wrapper_size) { break; } } if(i%$banner_count === 0) { $need_count = Math.ceil(i/$banner_count) + 1; } else { $need_count = Math.ceil(i/$banner_count); } for(n=0; n<$need_count - 1; n++) { for(j=0; j<$banner_count; j++) { $cloneBanners[j] = $banner.children().eq(j).clone().wrapAll('
').parent().html(); $banner.append($cloneBanners[j]); } } } $banner_count = $banner.children().length; $banner.css('width', $banner_size * $banner_count + 'px'); } // ·Ñ¸µ ó¸® function rolling() { $banner_size = $banner.children().eq(0).width(); $clone = $banner.children().eq(0).clone(); $banner.css('left', -1 * $index); $index++; $banner_pos = -parseInt($banner.css('left').replace('px','')); if($banner_pos >= $banner_size) { $banner.children().eq(0).remove(); $banner.append($clone); $banner.css('left','0'); $index = 1; } } // ÀÚµ¿ Àç»ý function autoPlay() { $timer = setInterval(function() { rolling(); }, $delay); } // ÀϽà Á¤Áö function pause() { clearInterval($timer); } // ¸¶¿ì½º¿£ÅÍ À̺¥Æ® (ÀϽÃÁ¤Áö) $("#rollingBanner").mouseenter(function() { pause(); }); // ¸¶¿ì½º¸®ºê À̺¥Æ® (ÀϽÃÁ¤Áö ÇØÁ¦) $("#rollingBanner").mouseleave(function() { autoPlay(); }); bannerInit(); autoPlay(); });