document.getElementById... JS식 만드는 법을 모르겠습니다. ㅠㅠ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

document.getElementById... JS식 만드는 법을 모르겠습니다. ㅠㅠ 정보

document.getElementById... JS식 만드는 법을 모르겠습니다. ㅠㅠ

본문

테이블이 아래와 같은 모양일 때,
  
                       
                       
                       

선택에 의해서 1개 열(A)을 열고 닫기하려고 합니다.
아래 그림처럼 A열 전체가 열리고 닫히게 만드려는데......
  
                    A        
                    A        
                    A        


세로로 펼치고 접는 것이 아니라, 열을 대상으로 가로로 펼치고 접는 것입니다.

---------------------------------------------------------------------------

이에 대해, 자게판에서 엑스엠엘님께서 아래와 같이 답변을 주셨습니다.
<col id="이름" 으로 해서
document.getElementById("이름").style.visibility="hidden";
로 해 보세요.

그래서 다음과 같이 적용을 해 보았습니다.

(1)
먼저 A에 해당하는 열은,
<colgroup id='time' width='100' style='display:none;'>

(2)
그 다음, A에 이벤트를 발생시킬 부분에,
<a href='javascript:time_box'><img src='aa.gif' title='클릭하면 가로로 열립니다'></a>
(위 소스는 A열 바로 좌측 녹색열에 넣었습니다.)

(3)
그리고, 자바스크립트 부분에 다음과 같이 추가했습니다.
function time_box()
{
document.getElementById("time").style.visibility="hidden";
}

------------------------------------------------------------------------------------

위와 같이 넣어보았는데, 변동이 없습니다.
위 자바스크립트는 제가 JS에 대한 지식이 전혀 없기 때문에 날림으로 넣은 것입니다.ㅠㅠ
활용팁을 뒤져서 이렇게저렇게 적용해 보고 있지만, 도무지 방법을 모르겠군요.ㅠㅠ

작업 초기에,
********************************************************************************
A열의 colgroup에 style='display:none;'을 주지 않고,
스크립트에 document.getElementById("time").style.visibility="hidden"; 만 넣었을 때는
********************************************************************************
A열 자체가 블락되어 나타나지 않더군요.
(A열 부분이 width값만 가지고 흰 바탕색만 출력되더군요. A열 내용은 출력되지 않았습니다.)

그런데, 이벤트를 발생시키기 위해 식을 만들어 보니까,
A열 자체가 그대로 출력되어 있고, 이벤트도 발생하지 않습니다.

식을 만들 줄 몰라서 고수님들께 정중히 부탁드립니다.
 (__)

댓글 전체

어느 고수님이 제대로 된 정확한 답변을 해주시겠지만...
그동안은 아래처럼 한 번 해보세요.

1. 저만 그런지 모르겠지만 colgroup 태그에선 이벤트가 잘 실행이 안되더군요. -.-;
그러니 먼저 colgroup 태그를 아래의 예제처럼 모두 col 로 바꾸시고...
<col width="100" /><col width="100" /><col id="time" width="100" style="display:none" /><col />

2. 이벤트 발생 부분을 아래처럼 바꿔주시고...
<a href="javascript:;" onclick="time_box();"><img src='aa.gif' title='클릭하면 가로로 열립니다'></a>

3. 스크립트 부분을 아래처럼 바꿔주세요.
<script type="text/javascript">
function time_box() {
  var time = document.getElementById('time');
  var show = time.style.display;
    if (show == 'none') show = '';
    else show = 'none';
    time.style.display = show;
}
</script>
document.getElementById 요놈이 표준인데 브라우저에 따라 document.all 이 제대로 먹히는 경우가 있습니다. 물론, 익스에서만 발생하는 경우인데 제작하신 소스를 각 브라우저별로 확인할 필요가 있겠습니다.
만들어진 소스로 브라우저별로 확인을 하셔야 할 겁니다. 이게 제작자들의 가장 큰 애환이지요.
저도 쓸만한 스킨에 몇 가지 기능을 넣어 만들어 보았는데 익스에서는 잘 작동하는데 파폭에서는 작동을 어설프게 하거나 아니면 아예 먹히질 않는 경우가 있어 버린 것이 한 둘이 아닙니다.
크로스브라우징이 이래서 어렵더군요.
전체 66 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT