2012-01-17 81 views
0

我正在製作一個div,應該在頁面加載時隱藏,然後在用戶點擊鏈接後可見。下面的代碼在FF/IE7/IE8中工作,但不能在IE9中,其中div始終可見(無內容)。提前致謝!jQuery hide()不工作(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 2012-01-17 09:57:18

+0

如果我將display設置爲none,那麼當我通過jQuery使用toggle命令時,div會彈出嗎?代碼現在工作順便說一句,我使用IE9模擬器赫赫,但它在真正的IE9 – 2012-01-17 10:00:56

+0

http://jsfiddle.net/CEGCs/在IE9上工作。 – 2012-01-17 10:01:42

回答

1

你爲什麼不用CSS隱藏<div>?只需在CSS中設置爲display:none,那麼當第一次點擊切換鏈接時,它應該顯示。

沒有理由爲什麼toggle()不應該在IE9中工作,你會得到任何腳本錯誤?

+0

toggle()在IE9中也不適用於我... – JPCF 2015-01-29 15:28:22

+0

您使用jQuery 2+嗎? – danwellman 2015-01-30 12:25:54

1

晚會晚會,但嘗試使類與display:none類,然後通過將addClass('hidden')removeClass('hidden')隱藏/顯示,而不是顯示/隱藏。