자바스크립트에 대한 질문인데요... 정보
자바스크립트에 대한 질문인데요...본문
걍 여따 질문하겠습니다.^^
여기에 멋진 스크립트가 있습니다.
테이블 셀에 링크하는법 & 마우스 오버시 색 변함 이건데요...
그 셀을 클릭하면 다른 셀을 클릭하기전까지는 그 셀의 색을
일정한 색으로 유지시키는 방법이 있을까요?
추천
0
0
댓글 2개
가만보니까, 이 홈피의 메뉴가 제가 생각하는 방법을 일부 쓰고 있네요.
선택한 메뉴의 색깔이 yellow로 남아있게 하는거....
자바스크립인가, 하고 소스를 들여다보니, 자바스크립트가 아닌거 같네요...
자바스크립트로는 구현하기 힘든것일까요??
선택한 메뉴의 색깔이 yellow로 남아있게 하는거....
자바스크립인가, 하고 소스를 들여다보니, 자바스크립트가 아닌거 같네요...
자바스크립트로는 구현하기 힘든것일까요??
자바스크립트도 객체 지향 언어니까 C 처럼 간단히 함수와 변수로 뭐든지 구현할 수 있습니다.
간단히 아래의 코드를 짜 보았는데요 주석 참조하시며 적용해보세요
<script language="javascript">
<!--
// 색깔에 관한 정보를 관리할 변수들의 배열입니다. 원하는 항목 갯수만큼 만들고 초기화 시키세요
Flag = new Array(2);
Flag[0] = 0;
Flag[1] = 0;
// 실제 색깔 바꾸기에 쓰일 함수입니다. 이 함수는 색깔을 두개 선택할 수 있습니다.
// Color1,2,3... 이렇게 변수를 추가하시고 새로 함수를 만드시면
// 3개 4개... 더 많은 색깔을 사용할 수도 있지요.
// 색깔이 세개 이상일때는 스위치 문이 효율적입니다. 2개때는 아래의 코드를 그냥 쓰세요.
function ChangeColor(Table, Index, Color1, Color2)
{
if(Flag[Index]){
Table.style.backgroundColor=Color1;
Flag[Index] = 0;
}
else{
Table.style.backgroundColor=Color2;
Flag[Index] = 1;
}
}
//-->
</script>
<!--
onClick : 마우스 클릭시
onMouseOver : 마우스 진입시
onMouseOut : 마우스 이탈시
이 외에도 키보드 다운, 마우스 더블클릭 등 다양한 형태의 이벤트 핸들러가 있습니다.
드림위버의 인텔리센스 기능(스페이스 키를 누르면 테그 리스트가 뜹니다)을 이용해서
자신에게 필요한 이벤트 핸들러를 사용하세요
함수 호출 방법은 다음과 같습니다.
ChangeColor(this, 플래그인덱스, '색깔1', '색깔2')
this 는 현재 내가 처리할 대상의 포인터, 즉 여기서는 셀의 포인터구요(포인터 = 주소)
플래그인덱스는 위에서 선언한 배열. 셀 마다 다른 인덱스를 사용하세요.
색깔1, 색깔2는 번갈아 가며 나타낼 색깔 이름 입니다.
//-->
<body>
<table border="1"><tr>
<td onClick="ChangeColor(this, 0, 'RED', 'BLUE')">최불암</td>
<td onClick="ChangeColor(this, 1, 'ORANGE', 'PURPLE')">이문세</td></tr></table>
</body>
</html>
간단히 아래의 코드를 짜 보았는데요 주석 참조하시며 적용해보세요
<script language="javascript">
<!--
// 색깔에 관한 정보를 관리할 변수들의 배열입니다. 원하는 항목 갯수만큼 만들고 초기화 시키세요
Flag = new Array(2);
Flag[0] = 0;
Flag[1] = 0;
// 실제 색깔 바꾸기에 쓰일 함수입니다. 이 함수는 색깔을 두개 선택할 수 있습니다.
// Color1,2,3... 이렇게 변수를 추가하시고 새로 함수를 만드시면
// 3개 4개... 더 많은 색깔을 사용할 수도 있지요.
// 색깔이 세개 이상일때는 스위치 문이 효율적입니다. 2개때는 아래의 코드를 그냥 쓰세요.
function ChangeColor(Table, Index, Color1, Color2)
{
if(Flag[Index]){
Table.style.backgroundColor=Color1;
Flag[Index] = 0;
}
else{
Table.style.backgroundColor=Color2;
Flag[Index] = 1;
}
}
//-->
</script>
<!--
onClick : 마우스 클릭시
onMouseOver : 마우스 진입시
onMouseOut : 마우스 이탈시
이 외에도 키보드 다운, 마우스 더블클릭 등 다양한 형태의 이벤트 핸들러가 있습니다.
드림위버의 인텔리센스 기능(스페이스 키를 누르면 테그 리스트가 뜹니다)을 이용해서
자신에게 필요한 이벤트 핸들러를 사용하세요
함수 호출 방법은 다음과 같습니다.
ChangeColor(this, 플래그인덱스, '색깔1', '색깔2')
this 는 현재 내가 처리할 대상의 포인터, 즉 여기서는 셀의 포인터구요(포인터 = 주소)
플래그인덱스는 위에서 선언한 배열. 셀 마다 다른 인덱스를 사용하세요.
색깔1, 색깔2는 번갈아 가며 나타낼 색깔 이름 입니다.
//-->
<body>
<table border="1"><tr>
<td onClick="ChangeColor(this, 0, 'RED', 'BLUE')">최불암</td>
<td onClick="ChangeColor(this, 1, 'ORANGE', 'PURPLE')">이문세</td></tr></table>
</body>
</html>