2012-01-17 4 views
0

페이지를로드 할 때 숨겨져 야하는 div를 만들고 있는데, 사용자가 링크를 클릭하면 표시됩니다. 아래의 코드는 FF/IE7/IE8에서는 작동하지만 IE9에서는 작동하지 않습니다. 여기서 div는 항상 표시됩니다 (내용 없음). 미리 감사드립니다!jQuery hide() not working (IE9)

<script> 
    $(document).ready(function() { 
     $('#translateBoxen').hide(); 
     $('#translateToggle').click(function() { 
     $('#translateBoxen').toggle(400); 
     return false; 
     }); 
    }); 
</script> // This is the jQuery code to hide and toggle the div // 

<div style="width:200px;height:100px;position:absolute;"> // Just a holder that's needed for the site 
    <a class="vitxtext" style="font-size:10px;" id="translateToggle" href="#"> 
     Translate 
    </a> 
    <div style="clear:both;"></div> 
    <div id="translateBoxen"> 
     // BOX CONTENT // 
    </div> 
</div> 
+1

브라우저의 오류 콘솔 (IE9에서는 F12)을 확인 했습니까? 아마도 hide() 호출 이전에 발생하는 일부 코드 줄의 오류 때문일 수 있습니다. 둘째로, DOM에 숨길 계획이라면,로드하는 동안 점프를 피하기 위해 CSS의 display 속성을 none으로 설정할 수도 있습니다. – techfoobar

+0

표시를 none으로 설정하면 jQuery를 통해 토글 명령을 사용할 때 div가 여전히 팝업됩니까? 이 코드는 현재 btw로 작동합니다. IE9 에뮬레이터 hehe를 사용하고 있지만 실제 IE9에서 작동했습니다. –

+0

http://jsfiddle.net/CEGCs/ IE9에서 작동합니다. –

답변

1

CSS로 <div>을 숨기십시오. CSS에서 display:none으로 설정하면 토글 링크가 처음 클릭되었을 때 표시됩니다.

toggle()이 IE9에서 작동하지 않아도되는 이유는 없습니다. 스크립트 오류가 발생하고 있습니까?

+0

IE9에서도 toggle()이 작동하지 않습니다 ... – JPCF

+0

jQuery 2+를 사용하고 있습니까? – danwellman

1

파티에 늦지 만 display:none으로 .hidden 클래스를 만든 다음 표시/숨기기 대신 addClass('hidden')removeClass('hidden')을 표시하여 숨기거나 표시합니다.