웹마스터 팁

서브메뉴에서 창의 크기에 따라 레이어의 위치가 주메뉴와 일치하지 않는 것을 해결하는
방법을 찾으시는 분이 많으신 것 같아 방법을 알려드리지요..
방법은 여러가지가 있지요...
주메뉴를 레이어에 넣어서 주메뉴 레이어를 화면 중앙에 오게 하고 나머지 서브메뉴를
주메뉴 레이어에의 상대적 위치에 따라 위치를 결정하는 방법..
아니면 일일히 서브레이어의 위치를 상대적으로 지정하는 방법 등등..

이중에 간단히 두번째 일일히 지정하는 방법을 좀더 간단히 하는 방법을 알려드리면...

<style>
#Layer
{
position:absolute;
left:expression((document.body.clientWidth-this.style.width)/2-this.getAttribute("pos"));
}
</style>

일단 스타일 시트에서 expression메쏘드로 자바스크립트를 이용하여 레이어의 좌측 위치를
body태그, 즉 실제문서가 표시된 부분 만큼의 너비를 이용하여 화면 중앙의 위치를 구합니다.
보이는 화면을 1/2하면 중앙이 되겠지요..

(document.body.clientWidth-this.style.width)/2
위와 같이 하는 이유는 레이어의 너비를 화면 크기에서 빼주어야 레이어 좌측이 중앙으로 부터
레이어 너비의 반만큼 왼쪽으로 더 이동되어 화면 정중앙에 오기때문이죠..

그리고 this.getAttribute("pos")는 pos라는 사용자 속성 값을 읽어 오는 겁니다.
레이어마다 따로 아이디를 부여할 필요없이 하나의 아이디로 하려고 사용하는 게지요..

그럼 실제 레이어에 적용해보지요..

아래처럼 그냥 레이어를 만드시고 id를 모두 동일하게 Layer로 줍니다.
pos는 위에서 말씀드린 사용자 속성입니다.
화면중앙에서 +값이면 왼쪽으로 이동시킬 픽셀값이고 -는 오른쪽으로 이동시킬 픽셀값이 되는 것이지요.

그럼 확인한번 해보세요..


<div id=Layer pos=60>
메뉴1
</div>

<div id=Layer pos=-30>
메뉴2
</div>

<div id=Layer pos=0>
메뉴3
</div>

<div id=Layer pos=100>
메뉴4
</div>

머 이밖에 behavior를 이용하는 방법(클래스 지정만으로 서브메뉴 구현가능)도 있는데..
초보자에게는 어려우니 위에 방법을 써보시고 좀더 공부하시고 behavior를 이용한 방법을
사용해 보시는 것도 좋을 듯 하네요..

단, 위 방법은 id가 모두 동일하므로 mouseover/out이벤트 핸들러를 적용할때는 레이어를 배열로 지정하셔서 사용하셔야 합니다.

이외 DHTML관련 궁금한 사항은 http://neom.new21.net 에 오셔서 남겨주시면 답변드리도록 하지요..
제목 글쓴이 날짜
자동 팝업창띠우기 소스 [4] 이슈™ 2002.03.13
:: DB 필요없는 일정관리 .. 거창하게.. -.- [2] file 고전지기 2002.03.15
[자바스트립트]bidoo님의 레벨메타식 체크박스 보강 탐그루 2002.03.20
다이나믹 HTML 스크립트 - 간편 공지사항에.... [1] ▩윤미 2002.03.28
레이어의 상대위치 지정 방법(position:absolute에서...) [2] Legend 2002.03.29
[v]운영 체제별 다른 페이지 보여주기 -_-;v [3] ┏ⓩZion┛ 2002.03.30
[v]하나더! 해상도별 다른 페이지 보여주기 :+:zZion:+: 2002.03.30
[v]최근 업데이트 시간을 자동으로 나타내 보자! [3] :+:zZion:+: 2002.03.30
배너 링크를 바로 클립보드로 카피하기 [5] Legend 2002.04.01
조그만한창 열기. ^.^ [5] 아이쿠 2002.04.02
배너 링크를 바로 클립보드로 카피하기(Legend님꺼 보충) [3] 카멜롯™ 2002.04.04
자바스크립트 실행시점 Jacylee 2002.04.11
이미지 오버랩 (속도 조절 가능, 이미지 갯수 제한 없음) [8] 조해성 2002.04.25
웹브라우저, 언어, 운영체제 보여주기.. [3] 이동기 2002.04.29
타이틀바 도, 움직인다! 캬하! (상태바 아님) [10] ▩윤미 2002.05.06
자바로 만든 퍼즐 겜^^; [8] ☆봄비ㆀ 2002.05.11
텍스트박스안에서 춤추는글자 [1] Anice 2002.05.16
글자가 커졌다가 작아졌다가.. [1] Anice 2002.05.17
링크된 텍스르 마우스 오버시 그림이 변한다.(메뉴로도..) [1] ▩윤미 2002.05.19
폼안의 텍스트 입력시 실시간 카운팅 ? [8] 카멜롯™ 2002.05.20