퀵 스크롤 메뉴를 좌.우측에 함께 사용하는 팁 정보
퀵 스크롤 메뉴를 좌.우측에 함께 사용하는 팁관련링크
본문
퀵 스크롤 메뉴를 일반적으로 우측에 사용하지요.
그런데 퀵 메뉴를 가운데 정렬된 페이지 좌,우측에 사용할 일이 생겼습니다.
몇일을 고생하던 차에 유창화님이 도와주셔서 해결했습니다.
혹시 저와같이 필요하신 분이 있으실 것 같아서 올립니다.
도와주신 유창화님께 감사드립니다.
<SCRIPT language=javascript>
//리모콘 레이어
//이 자료는 유창화님과 네잎클로버님께서 만들어 주신 것으로
//저는 플래시 디자인 말고는 한게 아무것도 없습니다.
//사용함수
//사용함수
function ResetRemocon(i){
var DivMovingLayerYFrom, DivMovingLayerYTo, OffsetY, ResetTime;
ResetTime = 100;
if (DivMovingLayerRule[i] == 'center'){
//해상도 기준, 가운데 에서 x만큼 떨어진 곳에 위치
if (navigator.userAgent.toLowerCase().indexOf("gecko") > -1) {
if (document.body.clientWidth < ContentsWidth + 10) {
DivMovingLayer[i].style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX[i] + 10 + "px";
}
else {
DivMovingLayer[i].style.left = (DivMovingLayerX[i] + (document.body.clientWidth / 2)) + "px";
}
}
else{
if (document.body.clientWidth < ContentsWidth) {
DivMovingLayer[i].style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX[i] + "px";
}
else {
DivMovingLayer[i].style.left = (DivMovingLayerX[i] + (document.body.clientWidth / 2)) + "px";
}
}
}
else if (DivMovingLayerRule[i] == 'left'){
//해상도와 무관, 왼쪽 에서 x만큼 떨어진 곳에 위치
DivMovingLayer[i].style.left = (DivMovingLayerX[i]) + "px";
}
DivMovingLayerYFrom = parseInt (DivMovingLayer[i].style.top, 10);
DivMovingLayerYTo = DivMovingLayerY[i] + document.body.scrollTop + 1;
if ( DivMovingLayerYFrom != DivMovingLayerYTo ) {
OffsetY = Math.ceil( Math.abs( DivMovingLayerYTo - DivMovingLayerYFrom ) / 20 );
if ( DivMovingLayerYTo < DivMovingLayerYFrom )
OffsetY = -OffsetY;
DivMovingLayer[i].style.top = (DivMovingLayerYFrom + OffsetY) + "px";
ResetTime = 10;
}
setTimeout ("ResetRemocon(" + i + ")", ResetTime);
}
function SetRemocon() {
for(var i = 0; i < DivMovingLayerX.length; i++){
DivMovingLayer[i] = document.getElementById("DivMovingLayer[" + i + "]");
DivMovingLayer[i].style.display = "block";
DivMovingLayer[i].style.top = (DivMovingLayerY[i] + document.body.scrollTop + 1) + "px";
ResetRemocon(i);
}
return true;
}
//레이어 디자인부분
document.write("<div id=DivMovingLayer[0] style='position:absolute;left:0px;top:0px; z-index:8;display:none;'>");
////selectBoxVisible() --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹쳐서 숨겼던 셀렉트 박스를 다시보여줌
////selectBoxHidden(레이어이름) --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹치면 셀렉트 박스를 숨김
//document.write("<table border=0 cellpadding=3 cellspacing=0 style='background-color:#F6FAFF; border: #9DADE5 solid; border-width: 1px 1px 1px 1px; width: 60px; padding: 3px;'>");
//아래에 보여줄 메뉴를 넣으세요.
document.write("<tr><td align='center'><embed width='120' height='300' Src='http://eantent.com/img/bann.swf' WMode='Transparent'></embed></td></tr>");
//document.write("<tr><td align='center'><a href='javascript:history.go(-1);' title='뒤로가기'>[뒤로가기]</a></td></tr>");
document.write("</table>");
document.write("</div>");
//레이어 디자인부분
document.write("<div id=DivMovingLayer[1] style='position:absolute;left:0px;top:0px; z-index:8;display:none;'>");
////selectBoxVisible() --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹쳐서 숨겼던 셀렉트 박스를 다시보여줌
////selectBoxHidden(레이어이름) --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹치면 셀렉트 박스를 숨김
//document.write("<table border=0 cellpadding=3 cellspacing=0 style='background-color:#F6FAFF; border: #9DADE5 solid; border-width: 1px 1px 1px 1px; width: 60px; padding: 3px;'>");
//아래에 보여줄 메뉴를 넣으세요.
document.write("<tr><td align='center'><embed width='120' height='300' Src='http://eantent.com/img/bann.swf' WMode='Transparent'></embed></td></tr>");
//document.write("<tr><td align='center'><a href='javascript:history.go(-1);' title='뒤로가기'>[뒤로가기]</a></td></tr>");
document.write("</table>");
document.write("</div>");
if (typeof document.body == "undefined")
document.body = document.getElementsByTagName("BODY")[0];
var DivMovingLayer = new Array();
//환경설정
일반적으로 해상도가 변경되면 스크롤메뉴의 위치가 맞지 않을 때가 있습니다
이때 아래의 1003부분을 100으로 변경해 주시면 해상도가 변경되어도 맞추어 놓은 위치에 정확하게 뜹니다.
이것 때문에 한 참 고생했네요. ^^
var ContentsWidth = 1003;//움직이는 레이어를 제외한 콘텐츠 너비, 가운데 정렬에만 해당, 전체 테이블중 제일큰 테이블 너비
var DivMovingLayerX = new Array();
var DivMovingLayerY = new Array();
var DivMovingLayerRule = new Array();
DivMovingLayerX[0] = 300; //이부분이 우측 퀵메뉴부분입니다. 위치를 맞춰주세요
DivMovingLayerY[0] = 200; //상단위치입니다. 알맞게 조절해서 사용하세요
DivMovingLayerRule[0] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
DivMovingLayerX[1] = -300; //이부분은 좌측 퀵 메뉴부분입니다.
DivMovingLayerY[1] = 500;
DivMovingLayerRule[1] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
//레이어 보이기
//SetRemocon();
window.onload=SetRemocon;
</SCRIPT>
이 아래부분이 핵심이더군요.
이런식으로 사용하면 되겟는데요
레이어 부분은 예제와 같이 두개를 만드시고
아이디는 DivMovingLayer[0], DivMovingLayer[1] 이렇게 주시고
DivMovingLayerX[0] = 300;
DivMovingLayerY[0] = 200;
DivMovingLayerRule[0] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
DivMovingLayerX[1] = -300;
DivMovingLayerY[1] = 500;
DivMovingLayerRule[1] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
이렇게 각 레이어의 위치에 대해 정의해 주시면 되겟습니다.
나머지부분은 링크와 동일하게 하시면 됩니다.
그런데 퀵 메뉴를 가운데 정렬된 페이지 좌,우측에 사용할 일이 생겼습니다.
몇일을 고생하던 차에 유창화님이 도와주셔서 해결했습니다.
혹시 저와같이 필요하신 분이 있으실 것 같아서 올립니다.
도와주신 유창화님께 감사드립니다.
<SCRIPT language=javascript>
//리모콘 레이어
//이 자료는 유창화님과 네잎클로버님께서 만들어 주신 것으로
//저는 플래시 디자인 말고는 한게 아무것도 없습니다.
//사용함수
//사용함수
function ResetRemocon(i){
var DivMovingLayerYFrom, DivMovingLayerYTo, OffsetY, ResetTime;
ResetTime = 100;
if (DivMovingLayerRule[i] == 'center'){
//해상도 기준, 가운데 에서 x만큼 떨어진 곳에 위치
if (navigator.userAgent.toLowerCase().indexOf("gecko") > -1) {
if (document.body.clientWidth < ContentsWidth + 10) {
DivMovingLayer[i].style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX[i] + 10 + "px";
}
else {
DivMovingLayer[i].style.left = (DivMovingLayerX[i] + (document.body.clientWidth / 2)) + "px";
}
}
else{
if (document.body.clientWidth < ContentsWidth) {
DivMovingLayer[i].style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX[i] + "px";
}
else {
DivMovingLayer[i].style.left = (DivMovingLayerX[i] + (document.body.clientWidth / 2)) + "px";
}
}
}
else if (DivMovingLayerRule[i] == 'left'){
//해상도와 무관, 왼쪽 에서 x만큼 떨어진 곳에 위치
DivMovingLayer[i].style.left = (DivMovingLayerX[i]) + "px";
}
DivMovingLayerYFrom = parseInt (DivMovingLayer[i].style.top, 10);
DivMovingLayerYTo = DivMovingLayerY[i] + document.body.scrollTop + 1;
if ( DivMovingLayerYFrom != DivMovingLayerYTo ) {
OffsetY = Math.ceil( Math.abs( DivMovingLayerYTo - DivMovingLayerYFrom ) / 20 );
if ( DivMovingLayerYTo < DivMovingLayerYFrom )
OffsetY = -OffsetY;
DivMovingLayer[i].style.top = (DivMovingLayerYFrom + OffsetY) + "px";
ResetTime = 10;
}
setTimeout ("ResetRemocon(" + i + ")", ResetTime);
}
function SetRemocon() {
for(var i = 0; i < DivMovingLayerX.length; i++){
DivMovingLayer[i] = document.getElementById("DivMovingLayer[" + i + "]");
DivMovingLayer[i].style.display = "block";
DivMovingLayer[i].style.top = (DivMovingLayerY[i] + document.body.scrollTop + 1) + "px";
ResetRemocon(i);
}
return true;
}
//레이어 디자인부분
document.write("<div id=DivMovingLayer[0] style='position:absolute;left:0px;top:0px; z-index:8;display:none;'>");
////selectBoxVisible() --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹쳐서 숨겼던 셀렉트 박스를 다시보여줌
////selectBoxHidden(레이어이름) --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹치면 셀렉트 박스를 숨김
//document.write("<table border=0 cellpadding=3 cellspacing=0 style='background-color:#F6FAFF; border: #9DADE5 solid; border-width: 1px 1px 1px 1px; width: 60px; padding: 3px;'>");
//아래에 보여줄 메뉴를 넣으세요.
document.write("<tr><td align='center'><embed width='120' height='300' Src='http://eantent.com/img/bann.swf' WMode='Transparent'></embed></td></tr>");
//document.write("<tr><td align='center'><a href='javascript:history.go(-1);' title='뒤로가기'>[뒤로가기]</a></td></tr>");
document.write("</table>");
document.write("</div>");
//레이어 디자인부분
document.write("<div id=DivMovingLayer[1] style='position:absolute;left:0px;top:0px; z-index:8;display:none;'>");
////selectBoxVisible() --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹쳐서 숨겼던 셀렉트 박스를 다시보여줌
////selectBoxHidden(레이어이름) --> 그누보드 자체 지원함수, 레이어와 셀렉트박스가 겹치면 셀렉트 박스를 숨김
//document.write("<table border=0 cellpadding=3 cellspacing=0 style='background-color:#F6FAFF; border: #9DADE5 solid; border-width: 1px 1px 1px 1px; width: 60px; padding: 3px;'>");
//아래에 보여줄 메뉴를 넣으세요.
document.write("<tr><td align='center'><embed width='120' height='300' Src='http://eantent.com/img/bann.swf' WMode='Transparent'></embed></td></tr>");
//document.write("<tr><td align='center'><a href='javascript:history.go(-1);' title='뒤로가기'>[뒤로가기]</a></td></tr>");
document.write("</table>");
document.write("</div>");
if (typeof document.body == "undefined")
document.body = document.getElementsByTagName("BODY")[0];
var DivMovingLayer = new Array();
//환경설정
일반적으로 해상도가 변경되면 스크롤메뉴의 위치가 맞지 않을 때가 있습니다
이때 아래의 1003부분을 100으로 변경해 주시면 해상도가 변경되어도 맞추어 놓은 위치에 정확하게 뜹니다.
이것 때문에 한 참 고생했네요. ^^
var ContentsWidth = 1003;//움직이는 레이어를 제외한 콘텐츠 너비, 가운데 정렬에만 해당, 전체 테이블중 제일큰 테이블 너비
var DivMovingLayerX = new Array();
var DivMovingLayerY = new Array();
var DivMovingLayerRule = new Array();
DivMovingLayerX[0] = 300; //이부분이 우측 퀵메뉴부분입니다. 위치를 맞춰주세요
DivMovingLayerY[0] = 200; //상단위치입니다. 알맞게 조절해서 사용하세요
DivMovingLayerRule[0] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
DivMovingLayerX[1] = -300; //이부분은 좌측 퀵 메뉴부분입니다.
DivMovingLayerY[1] = 500;
DivMovingLayerRule[1] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
//레이어 보이기
//SetRemocon();
window.onload=SetRemocon;
</SCRIPT>
이 아래부분이 핵심이더군요.
이런식으로 사용하면 되겟는데요
레이어 부분은 예제와 같이 두개를 만드시고
아이디는 DivMovingLayer[0], DivMovingLayer[1] 이렇게 주시고
DivMovingLayerX[0] = 300;
DivMovingLayerY[0] = 200;
DivMovingLayerRule[0] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
DivMovingLayerX[1] = -300;
DivMovingLayerY[1] = 500;
DivMovingLayerRule[1] = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼
이렇게 각 레이어의 위치에 대해 정의해 주시면 되겟습니다.
나머지부분은 링크와 동일하게 하시면 됩니다.
추천
1
1
댓글 0개