묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
원하는 위치에서 부드럽게 아래위로 스크롤 되는 배너에서의 위치조절방법은?
2004.09.03 13:35
아래의소스는 http://www.jasko.co.kr 의 추천스크립트 206번에서 가져온 "원하는 위치에서 부드럽게 아래위로 스크롤 되는 배너"에 관한 소스입니다. 오른쪽여백3, 아래쪽여백3 정도로 항상 있도록 하려고 아래소스의 첫째줄 left:600; top:50 부분을 right:3; bottom:3 으로 바꿨더니 여백은 맞게 조정이 되는데 스크롤이 안되네요. 뭐가 잘 못 되었어을까요?
고수님들의 도움을 구합니다.
<div id=divMenu style="position:absolute; left:600; top:50">
<!-- 여기에서 배너의 위치와 크기를 설정 하세요-->
<table width="150" height="400" border="1" bgColor=gold>
<tr>
<td> </td>
</tr>
</table>
</div>
<script language=javascript>
<!--
var bNetscape4plus = (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "4");
var bExplorer4plus = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4");
function CheckUIElements(){
var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;
if ( bNetscape4plus ) {
yMenuFrom = document["divMenu"].top;
yMenuTo = top.pageYOffset + 62; //이 숫자를 수정하면 위쪽여백을 조절 할 수 있습니다(네츠케이프)
}
else if ( bExplorer4plus ) {
yMenuFrom = parseInt (divMenu.style.top, 10);
yMenuTo = document.body.scrollTop + 59;//이 숫자를 수정하면 위쪽여백을 조절 할 수 있습니다(익스플로러)
}
timeoutNextCheck = 500;
if ( Math.abs (yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom ) {
setTimeout ("CheckUIElements()", timeoutNextCheck);
return;
}
if ( yButtonFrom != yButtonTo ) {
yOffset = Math.ceil( Math.abs( yButtonTo - yButtonFrom ) / 10 );
if ( yButtonTo < yButtonFrom )
yOffset = -yOffset;
if ( bNetscape4plus )
document["divLinkButton"].top += yOffset;
else if ( bExplorer4plus )
divLinkButton.style.top = parseInt (divLinkButton.style.top, 10) + yOffset;
timeoutNextCheck = 10;
}
if ( yMenuFrom != yMenuTo ) {
yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 20 );
if ( yMenuTo < yMenuFrom )
yOffset = -yOffset;
if ( bNetscape4plus )
document["divMenu"].top += yOffset;
else if ( bExplorer4plus )
divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;
timeoutNextCheck = 10;
}
setTimeout ("CheckUIElements()", timeoutNextCheck);
}
function OnLoad()
{
var y;
if ( top.frames.length )
if ( bNetscape4plus ) {
document["divMenu"].top = top.pageYOffset + 135;
document["divMenu"].visibility = "visible";
}
else if ( bExplorer4plus ) {
divMenu.style.top = document.body.scrollTop + 135;
divMenu.style.visibility = "visible";
}
CheckUIElements();
return true;
}
OnLoad();
//-->
</script>
고수님들의 도움을 구합니다.
<div id=divMenu style="position:absolute; left:600; top:50">
<!-- 여기에서 배너의 위치와 크기를 설정 하세요-->
<table width="150" height="400" border="1" bgColor=gold>
<tr>
<td> </td>
</tr>
</table>
</div>
<script language=javascript>
<!--
var bNetscape4plus = (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "4");
var bExplorer4plus = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4");
function CheckUIElements(){
var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;
if ( bNetscape4plus ) {
yMenuFrom = document["divMenu"].top;
yMenuTo = top.pageYOffset + 62; //이 숫자를 수정하면 위쪽여백을 조절 할 수 있습니다(네츠케이프)
}
else if ( bExplorer4plus ) {
yMenuFrom = parseInt (divMenu.style.top, 10);
yMenuTo = document.body.scrollTop + 59;//이 숫자를 수정하면 위쪽여백을 조절 할 수 있습니다(익스플로러)
}
timeoutNextCheck = 500;
if ( Math.abs (yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom ) {
setTimeout ("CheckUIElements()", timeoutNextCheck);
return;
}
if ( yButtonFrom != yButtonTo ) {
yOffset = Math.ceil( Math.abs( yButtonTo - yButtonFrom ) / 10 );
if ( yButtonTo < yButtonFrom )
yOffset = -yOffset;
if ( bNetscape4plus )
document["divLinkButton"].top += yOffset;
else if ( bExplorer4plus )
divLinkButton.style.top = parseInt (divLinkButton.style.top, 10) + yOffset;
timeoutNextCheck = 10;
}
if ( yMenuFrom != yMenuTo ) {
yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 20 );
if ( yMenuTo < yMenuFrom )
yOffset = -yOffset;
if ( bNetscape4plus )
document["divMenu"].top += yOffset;
else if ( bExplorer4plus )
divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;
timeoutNextCheck = 10;
}
setTimeout ("CheckUIElements()", timeoutNextCheck);
}
function OnLoad()
{
var y;
if ( top.frames.length )
if ( bNetscape4plus ) {
document["divMenu"].top = top.pageYOffset + 135;
document["divMenu"].visibility = "visible";
}
else if ( bExplorer4plus ) {
divMenu.style.top = document.body.scrollTop + 135;
divMenu.style.visibility = "visible";
}
CheckUIElements();
return true;
}
OnLoad();
//-->
</script>
top으로 설정을 하게 스크립트가 짜여 있으니까 당연히 안되야죠.