웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
메뉴 옆에서 화살표가 스크롤되는..
2003.05.29 16:49
사이트 만들다가 메뉴에 마우스가 올라갔을대 그걸 쫒아 다니는 무언가가 있어으면 해서 만들었습니다.
급하게 적용시키느라 다른 구조에서 이식하기는 좀 번거롭겠네요..
^^; 그거야 뭐 시간나면 반응보구 올리죠뭐..
이건 레이어가 그냥 혼자 떠있는건 아니구요
td나 기타 box안에 자리잡아야 하게 만들었습니다.
--------------------
| |
| > | 메뉴
| |---------------
| |
| | 메뉴
---------------------
위처럼 화살표가 박스 안에 자리잡게 됬거든요..
그리고 안타까운점은 아직 세로형태의 메뉴에만 적용시켜 봤습니다..-_- 서브메뉴용이라 시간두 없구해서요..
밑에 소스 보시면 div_id.style.pixelTop이란게 있는데요
여러게 있을겁니다. 혹시 가로로 해보실분들은 저걸 전부 pixelLeft로 바꾸셔야 될듯해요
가로는 구조가 이렇게 되겠죠..
--------------------------------------------------
V
--------------------------------------------------
| | | | |
| 메뉴 | 메뉴 | 메뉴 | 메뉴 |
위에서 와따 가따 거리는 -_-;
암튼 대충설명 이거 가따가 그냥 빼껴 쓰실거면 아예 긁어가지 마세요
모양세가 개판오분전이거든요..-_- 보여지는 부분은 수정하셔야 해요..
글구 변수값도 약간 설정해주셔야 하구요. 그리고 각메뉴에 onMouseOver="javascript:menu_num(번호)"이거 넣어주셔야
그 번호로 갑니다. 여기서 번호란 메뉴가 3개면 맨위에꺼가 1번..맨끝이 3번
그리고 정확히 픽셀이 안맞을수 있는데요 >이런 마크 같은경우 중심점이 맨위에 있어서 좀더 밑으로 내려가는 현상이 있습니다.
음 그런경우 메뉴의 높이를 좀더 적게 설정하면 약간은 해결될듯합니다.
설명대충끈코 예제보세요..-_- 모양은 절대 보지 말기..
http://goweb.netcci.org/pds/scroll_2.html
<script language="JavaScript" type="text/javascript">
<!--
var menu_length = 3; ///세로로 나열되있는 메뉴의 갯수 단, 메뉴의 높이가 일정해야함.
var menu_height = 50; /// 1개 메뉴의 높이
var menu_middle = parseInt(menu_height/2); //넘어가고
var speed = 10; // 메뉴를 따라가는 스피드 수가 높아도 빨라지고 낮아도 빨라지다 어쩌다 운좋은 숫자 넣으면 느려지는..-_-
var speed2 = 10; // 수가 높을수록 느려지고 끈키는 효과(?) ㅋㅋ 이상변수설정 끝 저기 밑으로 쭈욱..~~
var menu_position,moving_spd,loop,frtop,frbot;
function menu_nums(num)
{
menu_position = (menu_height*num)-menu_middle;
clearTimeout(loop);
goto_slide(menu_position);
}
function goto_slide(value)
{
frtop = value;
frbot = value;
if(div_id.style.pixelTop <= frtop)
{
moving_spd = Math.round((frtop-div_id.style.pixelTop)/speed);
if(moving_spd == 0)
{
if(div_id.style.pixelTop < frtop)
{
moving_spd = 1;
}
}
div_id.style.pixelTop += moving_spd;
document.sdf.a1.value = moving_spd;
document.sdf.a2.value = div_id.style.pixelTop;
document.sdf.a3.value = frtop;
loop = setTimeout("goto_slide("+value+")",speed2);
}else if(div_id.style.pixelTop >= frbot)
{
moving_spd = Math.round((div_id.style.pixelTop-frbot)/speed);
if(moving_spd == 0)
{
if(div_id.style.pixelTop > frbot)
{
moving_spd = 1;
}
}
div_id.style.pixelTop -= moving_spd;
document.sdf.a1.value = moving_spd;
document.sdf.a2.value = div_id.style.pixelTop;
document.sdf.a3.value = frbot;
loop = setTimeout("goto_slide("+value+")",speed2);
}else{ clearTimeout(loop); }
}
//-->
</script>
<script language="JavaScript" type="text/javascript">
<!--
menu_nums(3); //처음 로딩되었을때 화살표가 가야할 위치.메뉴 넘버로 함.
//-->
</script>
</head>
<body>
<table border="0" width="700" cellpadding="0" cellspacing="0">
<form name="sdf">
<tr height="50">
<td rowspan="3" valign="top" align="center"
<div id="div_id" style="position:relative;left:0px;top:0px">></div>
</td>
<td onMouseOver="menu_nums(1)" style="border-left:1px solid black;" bgcolor="f5f5f5" align="center">메뉴</td>
<td ><input name="a1" size="5">속도</td>
</tr>
<tr height="50">
<td onMouseOver="menu_nums(2)" style="border-left:1px solid red;" bgcolor="f5f5f5" align="center">메뉴</td>
<td><input name="a2" size="5">화살표의 위치</td>
</tr>
<tr height="50">
<td onMouseOver="menu_nums(3)" style="border-left:1px solid blue;" bgcolor="f5f5f5" align="center">메뉴</td>
<td><input name="a3" size="5">도착점</td>
</tr>
</form>
</table>
급하게 적용시키느라 다른 구조에서 이식하기는 좀 번거롭겠네요..
^^; 그거야 뭐 시간나면 반응보구 올리죠뭐..
이건 레이어가 그냥 혼자 떠있는건 아니구요
td나 기타 box안에 자리잡아야 하게 만들었습니다.
--------------------
| |
| > | 메뉴
| |---------------
| |
| | 메뉴
---------------------
위처럼 화살표가 박스 안에 자리잡게 됬거든요..
그리고 안타까운점은 아직 세로형태의 메뉴에만 적용시켜 봤습니다..-_- 서브메뉴용이라 시간두 없구해서요..
밑에 소스 보시면 div_id.style.pixelTop이란게 있는데요
여러게 있을겁니다. 혹시 가로로 해보실분들은 저걸 전부 pixelLeft로 바꾸셔야 될듯해요
가로는 구조가 이렇게 되겠죠..
--------------------------------------------------
V
--------------------------------------------------
| | | | |
| 메뉴 | 메뉴 | 메뉴 | 메뉴 |
위에서 와따 가따 거리는 -_-;
암튼 대충설명 이거 가따가 그냥 빼껴 쓰실거면 아예 긁어가지 마세요
모양세가 개판오분전이거든요..-_- 보여지는 부분은 수정하셔야 해요..
글구 변수값도 약간 설정해주셔야 하구요. 그리고 각메뉴에 onMouseOver="javascript:menu_num(번호)"이거 넣어주셔야
그 번호로 갑니다. 여기서 번호란 메뉴가 3개면 맨위에꺼가 1번..맨끝이 3번
그리고 정확히 픽셀이 안맞을수 있는데요 >이런 마크 같은경우 중심점이 맨위에 있어서 좀더 밑으로 내려가는 현상이 있습니다.
음 그런경우 메뉴의 높이를 좀더 적게 설정하면 약간은 해결될듯합니다.
설명대충끈코 예제보세요..-_- 모양은 절대 보지 말기..
http://goweb.netcci.org/pds/scroll_2.html
<script language="JavaScript" type="text/javascript">
<!--
var menu_length = 3; ///세로로 나열되있는 메뉴의 갯수 단, 메뉴의 높이가 일정해야함.
var menu_height = 50; /// 1개 메뉴의 높이
var menu_middle = parseInt(menu_height/2); //넘어가고
var speed = 10; // 메뉴를 따라가는 스피드 수가 높아도 빨라지고 낮아도 빨라지다 어쩌다 운좋은 숫자 넣으면 느려지는..-_-
var speed2 = 10; // 수가 높을수록 느려지고 끈키는 효과(?) ㅋㅋ 이상변수설정 끝 저기 밑으로 쭈욱..~~
var menu_position,moving_spd,loop,frtop,frbot;
function menu_nums(num)
{
menu_position = (menu_height*num)-menu_middle;
clearTimeout(loop);
goto_slide(menu_position);
}
function goto_slide(value)
{
frtop = value;
frbot = value;
if(div_id.style.pixelTop <= frtop)
{
moving_spd = Math.round((frtop-div_id.style.pixelTop)/speed);
if(moving_spd == 0)
{
if(div_id.style.pixelTop < frtop)
{
moving_spd = 1;
}
}
div_id.style.pixelTop += moving_spd;
document.sdf.a1.value = moving_spd;
document.sdf.a2.value = div_id.style.pixelTop;
document.sdf.a3.value = frtop;
loop = setTimeout("goto_slide("+value+")",speed2);
}else if(div_id.style.pixelTop >= frbot)
{
moving_spd = Math.round((div_id.style.pixelTop-frbot)/speed);
if(moving_spd == 0)
{
if(div_id.style.pixelTop > frbot)
{
moving_spd = 1;
}
}
div_id.style.pixelTop -= moving_spd;
document.sdf.a1.value = moving_spd;
document.sdf.a2.value = div_id.style.pixelTop;
document.sdf.a3.value = frbot;
loop = setTimeout("goto_slide("+value+")",speed2);
}else{ clearTimeout(loop); }
}
//-->
</script>
<script language="JavaScript" type="text/javascript">
<!--
menu_nums(3); //처음 로딩되었을때 화살표가 가야할 위치.메뉴 넘버로 함.
//-->
</script>
</head>
<body>
<table border="0" width="700" cellpadding="0" cellspacing="0">
<form name="sdf">
<tr height="50">
<td rowspan="3" valign="top" align="center"
<div id="div_id" style="position:relative;left:0px;top:0px">></div>
</td>
<td onMouseOver="menu_nums(1)" style="border-left:1px solid black;" bgcolor="f5f5f5" align="center">메뉴</td>
<td ><input name="a1" size="5">속도</td>
</tr>
<tr height="50">
<td onMouseOver="menu_nums(2)" style="border-left:1px solid red;" bgcolor="f5f5f5" align="center">메뉴</td>
<td><input name="a2" size="5">화살표의 위치</td>
</tr>
<tr height="50">
<td onMouseOver="menu_nums(3)" style="border-left:1px solid blue;" bgcolor="f5f5f5" align="center">메뉴</td>
<td><input name="a3" size="5">도착점</td>
</tr>
</form>
</table>
댓글 2
-
고냉이 콱!
2003.05.29 17:47
우와... 좋다 -
개굴너굴데굴
2003.10.29 21:45
휘바휘바;ㅁ;!!!!!!! 근데 어려워요![;;;;;;;]
제목 | 글쓴이 | 날짜 |
---|---|---|
리눅스 보안 : 기초적인 방화벽 : portsentry 설치하기 [2] | 정인배 | 2002.11.29 |
cron을 이용한 자동 백업 받기 | 최종우 | 2002.12.02 |
cron과 rsync 그리고 replication 을 이용한 데이터 백업 [3] | 최종우 | 2002.12.03 |
FTP 를 이용한 원격 백업 받기 [5] | 최종우 | 2002.12.04 |
[계정삭제 스크립터] 편리님이 만드신 계정추가랑 연동됩니다. [4] | 김동현 | 2002.12.04 |
[FreeBSD] 자동으로 시간 맞추기.. [1] | DeX™ | 2002.12.04 |
계정 등록 스크립트 [8] | 편리 | 2002.12.05 |
오래간만에 찾아뵙는군요^^ [2] | Dopesoul | 2002.12.08 |
Zend Optimizer Full Pass Setup [3] | DukeEYS | 2002.12.08 |
mod_gzip 적용시 php 인클루드를 실패해서 포기하신분 보세요 [2] | DukeEYS | 2002.12.08 |
apache2 + mod_jk 100번의 닭질 끝에 찾아가는 사이트 | DukeEYS | 2002.12.09 |
[FreeBSD] Proftp + MySQL 연동 설치하기 [2] | DeX™ | 2002.12.09 |
레드햇(redhat)리눅스에서 rpm 관리 명령어 | 정인배 | 2002.12.09 |
srpms, alpha, i386 , i686 이 의미하는 것은? [1] | Dopesoul | 2002.12.12 |
누군가 우리서버를 공격하고 있을때 응급처치! [13] | Dopesoul | 2002.12.13 |
[re] 저의 최종의견 입니다. [5] | Dopesoul | 2002.12.17 |
SetEnvIf 와 SetEnvIfNocase 의 차이 [7] | Dopesoul | 2002.12.13 |
DeX 님의 시간 동기화 스크립트를 편하고 안정적으로 변경한 리눅스용! [4] | Dopesoul | 2002.12.13 |
리눅스 rpm 명령어 활용(1): MRTG 설치 | 정인배 | 2002.12.14 |
PHP 4.2.3 파워 설치 테크닉 (에러 0%에 도전) [2] | 밍밍이 | 2002.12.17 |