<div class="codetitle"> <span><a style="CURSOR: pointer" data="79304" class="copybut" id="copybut79304" onclick="doCopy('code79304')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code79304"> <br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <br><html xmlns="http://www.w3.org/1999/xhtml"> <br><head><script type="text/javascript"> ;!-- <br>//주요 스크롤 기능<br>//스크롤 효과가 정확히 필요한 경우<br>//그러면 이 함수를 직접 호출하기만 하면 됩니다<br>var moveTag=function( obj) { <br>var _this = this; <br>_this.speed = 10;//이동 속도<br>_this.space = 10 * _this.speed;//이동 간격 시간<br>obj.scrollLeft =0;/ /스크롤 위치 초기화(주로 FF와의 호환성 필요성 고려) <br>var divList = obj.getElementsByTagName("DIV"); <br>var obj2 = new Object();//모든 스크롤 열 포함 div <br>for(var i=0;i<divList.length;i ){ <BR>if(divList[i].parentNode==obj){ <BR>obj2=divList[i] <BR> break; 🎜>} <BR>} <BR>//스크롤해야 하는 모든 열 가져오기<BR>//divList를 두 번 반복하는 목적은 스타일 이름이 스크롤 코드에 영향을 미치지 않도록 하는 것입니다<BR>//즉, 스크롤 코드와 스타일 이름의 결합을 최대한 줄입니다. <BR>var cellCount = 0 <BR>_this.cellList = new Array() <BR>for(var i=0;i<divList.length;i ){ <BR>if(divList[i].parentNode==obj2){ <BR>cellCount ; <BR>_this.cellList.push(divList[i]);//스크롤해야 하는 모든 열<BR> } <BR>} <BR>_this.resetCellList=function(){ <BR>//주로 연속 스크롤을 위한 함수입니다<BR>//끝점까지 스크롤할 때마다 사용해야 합니다<BR>/ /이미 스크롤된 열 재설정 현재 열 뒤로 이동 <BR>for(var i=0;i<_this.cellList.length-1;i ){ <BR>obj2.removeChild(_this.cellList[i]); 🎜>obj2.appendChild( _this.cellList[i]); <BR>} <BR>//_this.cellList <BR>_this.cellList = new Array() <BR>for(var i=0;i< ;divList.length ;i ){ <BR>if(divList[i].parentNode==obj2) _this.cellList.push(divList[i]) <BR>} <BR>//alert(_this.cellList. length); <BR>} <BR>_this.resetForMoveRight=function(){ <BR>//이 함수는 주로 연속 스크롤에 사용됩니다.<BR>//resetCellList와의 차이점은 이 함수는 연속 스크롤에 사용된다는 점입니다. 오른쪽<BR>//시작점으로 스크롤할 때마다 <BR>을 사용해야 합니다.//현재 열 뒤의 모든 열을 현재 열 앞으로 이동 <BR>if(_this.cellList.length>0){ <br>for( var i=_this.cellList.length-1;i>0;i--){ <br>obj2.removeChild(_this.cellList[i]) <br>obj2.insertBefore(_this.cellList) [i],obj2 .childNodes[0]); <br>} <br>} <br>//Reacquire _this.cellList <br>_this.cellList = new Array() <br>for(var i=0 ;i< divList.length;i ){ <BR>if(divList[i].parentNode==obj2) _this.cellList.push(divList[i]) <BR>//alert(_this. cellList.length ) <BR>} <BR>//alert(_this.cellList.length); <BR>obj2.style.width = parsInt(obj.offsetWidth * cellCount) "px" <BR>// <BR>/ /alert(_this.endScroll); <BR>var cellScroll = obj.offsetWidth;//매번 스크롤할 거리<BR>var endScroll = obj2.offsetWidth - cellScroll;//그림의 끝 위치를 계산합니다. 스크롤 바<BR> //alert(_this.cellScroll); <BR>// <BR>_this.moveLength = cellScroll; //이동 오프셋을 초기화합니다. 0이면 페이지가 로드된 후 즉시 이동합니다. _this.cellScroll과 동일 시작 전 잠시 실행을 지연함을 나타냅니다. <BR>_this.scrollEnd = false; <BR>_this.scrollTimes = 0 <BR>//휴식을 취하세요 <BR>_this.sleep=function() { <BR>_this.scrollTimes; <BR>if(_this.scrollTimes>=_this.space){ <br>_this.scrollTimes=0; <br>_this.moveLength=0; <br>_this.moveStart = true ;//이동 시작 여부<br>_this.isMoveLeft = true;//왼쪽으로 이동 여부<br>_this.move=function(){ <br>obj.onmouseover=function( ){ <br>_this.moveStart= false; <br>}; <br>obj.onmouseout=function(){ <br>_this.moveStart=true <br>//셀 목록 재설정 <br>if(obj.scrollLeft> =endScroll && _this.isMoveLeft){//왼쪽으로 이동하여 끝으로 이동했습니다<br>if(_this.moveLength > 0) _this.moveLength = cellScroll;//Adjust<br>if(_this.cellList.length> ;0){ <br>_this.resetCellList();//cellList 업데이트 <br>obj.scrollLeft=0 <br>}else{ <br>_this.scrollEnd = true; 🎜>} <br>}else if(obj.scrollLeft<=0 && !_this.isMoveLeft){//오른쪽으로 이동하여 끝으로 이동했습니다<BR>if(_this.moveLength > 0) _this.moveLength = cellScroll;//조정<br> if(_this.cellList.length>0){ <br>_this.resetForMoveRight();//cellList 업데이트 <br>obj.scrollLeft=endScroll;else{ <br>_this.scrollEnd = false; <br>} <br>} <br>// <br>if(_this.scrollEnd){//왼쪽으로 이동 <br>if(_this.moveLength<cellScroll && _this.moveStart){ <BR>obj.scrollLeft-- ; <BR>_this.moveLength ; <BR>}else if(_this.moveLength>=cellScroll){ <br>_this.sleep()} <br>else{//오른쪽으로 이동 <br>if(_this.moveLength<cellScroll && _this.moveStart){ <BR>obj.scrollLeft ; <BR>_this.moveLength <BR>}else if(_this.moveLength>=cellScroll ){ <br>_this.sleep(); <br>} <br>} <br>//자동으로 <br>_this.start=function(){ <br>setInterval(_this.move, _this.speed) <br>}; <br>//오른쪽으로 이동<br>_this.moveRight=function(){ <br>_this.scrollEnd = true;//끝까지 스크롤됨<br>_this.isMoveLeft = false;//오른쪽으로 스크롤<br> _this.scrollTimes=0; <br>}; <br>//왼쪽으로 이동<br>_this.moveLeft=function(){ <br>_this.scrollEnd = false;//끝까지 스크롤하지 않음<br>_this. isMoveLeft = true; //왼쪽으로 스크롤 <br>} <br>// --></script> ="Content-Type" content="text/html; charset=gb2312" /> <br><style><!-- <BR>#list{border:#ccc 1px solid;} <BR> # list div div{line-height:30px;text-align:center;border-right:#ccc 1px solid;} <BR>#list{width:150px;height:30px;overflow:hidden;}/*필수 속성, 너비와 높이는 사용자 정의 가능*/ <BR>#list div div{width:150px;height:30px;float:left;}/*필수 속성, 너비 및 높이는 #list와 동일해야 합니다*/ <BR>- -></style><style mce_bogus="1">#list{border:#ccc 1px solid;} <br>#list div div{line-height:30px;text-align :center;border -right:#ccc 1px solid;} <br>#list{width:150px;height:30px;overflow:hidden;}/*필수 속성, 너비 및 높이는 사용자 정의 가능*/ <br># list div div{width :150px;height:30px;float:left;}/*필수 속성, 너비 및 높이는 #목록 정의와 동일해야 합니다*/</style> <br><title>제목 없음 Document</title> 🎜></head> <br><body> <br><div> <br></div> <div>두 번째 열</div> <br><div>세 번째 열</div> <br><div>네 번째 열</div> <br><div>다섯 번째 열</div> <br></div> <br></div> <br><a href="javascript:moveLeft()" mce_href=" javascript:moveLeft()">왼쪽으로 이동<br> <a href="javascript:moveRight()" mce_href="javascript:moveRight()">오른쪽으로 이동</a> <br><script type="text/javascript"><!-- <BR>var move=new moveTag(document.getElementById("list")); <BR>move.start(); <BR>move .speed=10;//스크롤 속도, 기본값은 10 <BR>// move.space=0;//스크롤 간격 시간, 기본값은 스크롤 속도 * 16 <BR>//왼쪽 이동은 가장 왼쪽으로만 이동할 수 있으며 왼쪽으로 완전히 이동할 수는 없습니다<BR>//순서대로 중단 없이 스크롤하려면 가장 왼쪽 좌표가 계속 변경됩니다<BR>//move.moveLeft();//이 방법으로 기본 이동을 오른쪽에서 왼쪽으로 설정할 수 있습니다<BR>//move.moveRight();// move.moveLeft()와 반대 방향<BR>var moveLeft=move.moveLeft; <BR>var moveRight=move.moveRight; <BR>//N개 위치에 스크롤이 있는 페이지를 원하시나요? <BR>//문제없어요! 이를 달성하려면 몇 가지 새로운 인스턴스가 더 필요합니다 <BR></body> <br><br> </div>