묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
슬라이딩 레이어 자바스크립트 소스질문이요..
2003.10.20 00:57
아래는 슬라이딩 레이어 자바스크립트소스의 head 부분인데요..
저 소스중에서 고쳐도 되거나 없애도 되는 부분이 있다면 가르쳐주세요..
최대한 줄일수 있는 방법도 있으면 가르쳐주시면 감사하겠습니다..
아니면 드림위버로 제작할수 있는지도 알고 싶구요,,
소스 출처 : http://kissofgod.net/webdstip/dhtml/dhtml86.htm
=================================================================================
<style type="text/css">
<!--
#floater {position:absolute; visibility:visible}
-->
</style>
<script language="JavaScript">
<!--
self.onError=null;
currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
<!-- STALKER CODE -->
function heartBeat() {
if(IE) {
diffY = document.body.scrollTop;
diffX = 0;
}
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
}
if(NS || IE) action = window.setInterval("heartBeat()",1);
//-->
</script>
저 소스중에서 고쳐도 되거나 없애도 되는 부분이 있다면 가르쳐주세요..
최대한 줄일수 있는 방법도 있으면 가르쳐주시면 감사하겠습니다..
아니면 드림위버로 제작할수 있는지도 알고 싶구요,,
소스 출처 : http://kissofgod.net/webdstip/dhtml/dhtml86.htm
=================================================================================
<style type="text/css">
<!--
#floater {position:absolute; visibility:visible}
-->
</style>
<script language="JavaScript">
<!--
self.onError=null;
currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
<!-- STALKER CODE -->
function heartBeat() {
if(IE) {
diffY = document.body.scrollTop;
diffX = 0;
}
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
}
if(NS || IE) action = window.setInterval("heartBeat()",1);
//-->
</script>
댓글 6
-
M@xPond
2003.10.20 05:05
-
눔곰
2003.10.20 08:01
답변 감사드리구요^^:;
위에서 on off 기능 없애는법좀 가르쳐주세요..
on/off 없애니 작동이 안되네요.,. -
M@xPond
2003.10.20 09:08
html작성하실줄 아신다면..
<!-- 이부분이 보여질 부분입니다...-->
<div id="div_id" style="position:absolute;left:300;">
<table border="1" height="300">
<tr>
<td>여기다 내용을 넣으세요</td>
</tr>
<tr>
<td align="center" style="cursor:hand" onclick="moving_control()">메뉴on/off</td>
</tr>
</table>
</div>
<!-- 여기까지-->
여기부분이 보여질 부분이거든요.
<tr>
<td align="center" style="cursor:hand" onclick="moving_control()">메뉴on/off</td>
</tr>
이거만 지우면 됩니다.
작동이 안되신다면 아마 script소스를 지운거 같은데요.. 소스에서 지워야될부분이나 그런건 없습니다.
그냥 수정만 하시면 됩니다. -
눔곰
2003.10.20 10:36
음..아무것도 안지우고 M@xPond 님께서 주신 소스를 모두 넣고 했을때는
on 버튼을 두번 눌러줘야 슬라이딩이 되는데요..
저는 자바스크립트를 하나도 모르지만..대충 생각해보면..초기설정이 슬라이딩이 안되고
멈춰있게 되있는거 아닌가 해서요..
on/off 버튼을 없애고 하려면 초기설정을 슬라이딩되게 해야된다고 생각하는데.. -
눔곰
2003.10.20 10:53
아..주석을 보니 슬라이딩이 되게 설정되있네요..ㅡㅡ;
근데 왜 안되지..;; -
M@xPond
2003.10.21 00:34
위에꺼는 못보던게 넘 많아서 어떻게 줄여드려야 할지 몰겠습니다.
<!-- 이부분이 보여질 부분입니다...-->
<div id="div_id" style="position:absolute;left:300;">
<table border="1" height="300">
<tr>
<td>여기다 내용을 넣으세요</td>
</tr>
<tr>
<td align="center" style="cursor:hand" onclick="moving_control()">메뉴on/off</td>
</tr>
</table>
</div>
<!-- 여기까지-->
<script type="text/javascript" language="javascript">
<!--
var scroll_pixel,div_pixel,gtpos,gbpos,loop,moving_spd;
var top_margin = 50; /// 창의 맨위와의 여백 내려올때
var top_margin2 = 100; /// 창의 맨위와의 여백 올라올때
var speed = 20; /// 점차 줄어드는 속도를 위한 설정
var speed2 = 15; /// setTimeout을 위한 속도 설정
var moving_stat = 1; /// 메뉴의 스크롤을 로딩시 on/off설정 1=움직임 0은 멈춤
function check_scrollmove()
{
scroll_pixel = document.body.scrollTop;
gtpos = document.body.scrollTop+top_margin;
gbpos = document.body.scrollTop+top_margin2;
if(div_id.style.pixelTop < gtpos)
{
moving_spd = (gbpos-div_id.style.pixelTop)/speed;
div_id.style.pixelTop += moving_spd;
}
if(div_id.style.pixelTop > gtpos)
{
moving_spd = (div_id.style.pixelTop-gtpos)/speed;
div_id.style.pixelTop -= moving_spd;
}
loop = setTimeout("check_scrollmove()",speed2);
}
function moving_control()
{
if(!moving_stat){ check_scrollmove(); moving_stat = 1;}
else{ clearTimeout(loop); moving_stat = 0; div_id.style.pixelTop = top_margin;}
}
check_scrollmove();
-->
</script>
소스좀 줄여서 만들어 본건데요 뭐 수정할부분은 위에 주석보이시죠..거기서 속도하고
맨위에 style="position:absolute;left:300;" 이부분 레이어가 있어야할 위치만 지정해주시면 되는데요..
님이 원하는거 맞는지는 몰겠구 혹시해서 올립니다.
참.. 위치는 left는 왼쪽에서 얼만큼 떨어질테냐 이고.
위에서 얼만큼 떨어질테냐는 top:얼마 이렇게 넣어주시면 됩니다.