자바스크립트에 대한 질문인데요... > 자유게시판

자유게시판

자바스크립트에 대한 질문인데요... 정보

자바스크립트에 대한 질문인데요...

본문

걍 여따 질문하겠습니다.^^
여기에 멋진 스크립트가 있습니다.
테이블 셀에 링크하는법 & 마우스 오버시 색 변함 이건데요...
그 셀을 클릭하면 다른 셀을 클릭하기전까지는 그 셀의 색을
일정한 색으로 유지시키는 방법이 있을까요?
추천
0
  • 복사

댓글 2개

가만보니까,  이 홈피의 메뉴가 제가 생각하는 방법을 일부 쓰고 있네요.
선택한 메뉴의 색깔이 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>
© SIRSOFT
현재 페이지 제일 처음으로