사용자함수 롤링배너함수
페이지 정보

본문
$(document).ready(function(){
var MainBnr = new RollingBanner("mainbanner",7000); //메인배너
});
});
//롤링배너 모듈함수
function RollingBanner(BoxStr,delay){
function RollingBanner(BoxStr,delay){
var This = this;
this.box = document.getElementById(BoxStr);
this.UL = $(this.box).find("ul");
this.bnrs = $(this.box).find("ul > li > a > img");
this.btns = $(this.box).find("ol > li > button");
this.bnrW = 980; //팝업폭
this.idx = Math.floor( Math.random()*$(this.bnrs).length ); //초기 랜덤 현재 팝업값
this.interval = null;
this.sum = 1;
this.delay = delay;
this.UL = $(this.box).find("ul");
this.bnrs = $(this.box).find("ul > li > a > img");
this.btns = $(this.box).find("ol > li > button");
this.bnrW = 980; //팝업폭
this.idx = Math.floor( Math.random()*$(this.bnrs).length ); //초기 랜덤 현재 팝업값
this.interval = null;
this.sum = 1;
this.delay = delay;
//초기 설정
this.init = function(){
this.init = function(){
//배너 랜덤 초기값
$(This.UL).css("width", (This.bnrs.length*This.bnrW)+"px"); //롤링박스 총 폭
$(This.UL).css("margin-left",-(This.idx*This.bnrW )+"px"); //현재 배너 위치설정
$(This.btns).eq(This.idx).find("img").attr("src",function(index,src){return src.replace('_out','_over');});
$(This.UL).css("width", (This.bnrs.length*This.bnrW)+"px"); //롤링박스 총 폭
$(This.UL).css("margin-left",-(This.idx*This.bnrW )+"px"); //현재 배너 위치설정
$(This.btns).eq(This.idx).find("img").attr("src",function(index,src){return src.replace('_out','_over');});
//네비포인터 롤로버이벤트 등록
$(This.btns).mouseover(function(){This.changeNavi( $(This.btns).index(this) );});
$(This.btns).mouseover(function(){This.changeNavi( $(This.btns).index(this) );});
//이벤트핸들러 등록
$(This.box).hover(
function(){
if(This.interval){
clearInterval(This.interval);
This.interval = null;
}
},
function(){
This.interval = setInterval(
function(){
if( This.idx == (This.bnrs.length-1) ) This.sum = -1;
else if ( This.idx == 0 ) This.sum = 1;
$(This.box).hover(
function(){
if(This.interval){
clearInterval(This.interval);
This.interval = null;
}
},
function(){
This.interval = setInterval(
function(){
if( This.idx == (This.bnrs.length-1) ) This.sum = -1;
else if ( This.idx == 0 ) This.sum = 1;
This.changeNavi(This.idx+This.sum);
}
,This.delay); // 배너 지연시간 1/1000초
}
);
}
,This.delay); // 배너 지연시간 1/1000초
}
);
$(This.box).mouseout();
}
}
//네비게이션 리셋
this.changeNavi = function(idx){
//이전 버튼이미지 Off
if( This.idx != null ) $(This.btns).eq(This.idx).find("img").attr("src",function(index,src){return src.replace('_over','_out');});
this.changeNavi = function(idx){
//이전 버튼이미지 Off
if( This.idx != null ) $(This.btns).eq(This.idx).find("img").attr("src",function(index,src){return src.replace('_over','_out');});
//현재 인덱스 저장
This.idx = idx;
This.idx = idx;
//새로운 버튼이미지 On
$(This.btns).eq(This.idx).find("img").attr("src",function(index,src){return src.replace('_out','_over');});
//배너 위치 변경
$(This.box).find("ul").animate({"margin-left":-(This.idx*This.bnrW)+"px"},{ duration: 250, queue: false});
$(This.btns).eq(This.idx).find("img").attr("src",function(index,src){return src.replace('_out','_over');});
//배너 위치 변경
$(This.box).find("ul").animate({"margin-left":-(This.idx*This.bnrW)+"px"},{ duration: 250, queue: false});
}
this.init();
}
}
-------------------------------------------------------------------------
html소스
<div id="mainbanner">
<ol>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
</ol>
<ul>
<li><a href='#' ><img src='event1.jpg' border=0 width='980' height='352'></a></li>
<li><a href='#' ><img src='event2.jpg' border=0 width='980' height='352'></a></li>
<li><a href='#' ><img src='event3.jpg' border=0 width='980' height='352'></a></li>
<li><a href='#' ><img src='event4(0).jpg' border=0 width='980' height='352'></a></li>
</ul>
</div><!-- banner -->
<ol>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
<li><button><img src="main_cb3_pop_btn_out.png" alt="" /></button></li>
</ol>
<ul>
<li><a href='#' ><img src='event1.jpg' border=0 width='980' height='352'></a></li>
<li><a href='#' ><img src='event2.jpg' border=0 width='980' height='352'></a></li>
<li><a href='#' ><img src='event3.jpg' border=0 width='980' height='352'></a></li>
<li><a href='#' ><img src='event4(0).jpg' border=0 width='980' height='352'></a></li>
</ul>
</div><!-- banner -->
--------------------------------------------
CSS
#mainbanner { position:relative; margin:0; padding:0; width:980px; height:352px; border:2px solid red; overflow:hidden; }
#mainbanner > ol { position:absolute; width:980px; text-align:right; padding:0; top:5px; right:15px; }
#mainbanner > ol > li { display:inline; padding:0; margin:0; }
#mainbanner > ol > li > button { padding:3px; cursor:pointer; background-color:transparent; border:0;}
#mainbanner > ul { margin:0; padding:0; }
#mainbanner > ul > li { float:left; margin:0; padding:0;}
#mainbanner > ol { position:absolute; width:980px; text-align:right; padding:0; top:5px; right:15px; }
#mainbanner > ol > li { display:inline; padding:0; margin:0; }
#mainbanner > ol > li > button { padding:3px; cursor:pointer; background-color:transparent; border:0;}
#mainbanner > ul { margin:0; padding:0; }
#mainbanner > ul > li { float:left; margin:0; padding:0;}
관련링크
- 이전글낱말퍼즐 (낱말맞추기)게임 구현 15.05.15
- 다음글이미지배경의 특정지역 클릭 > 팝업창 롤링이미지 & 싱글이미지 15.05.15
댓글목록
등록된 댓글이 없습니다.

