1
我遇到了一個我爲我創建的網站編寫的這個小腳本的問題。我完全不熟悉JavaScript,所以請原諒我,如果我錯過了可能對您顯而易見的事情。腳本不能在IE和Chrome中工作
該腳本的目的是在頁面加載後立即隱藏div,然後在用戶單擊下拉菜單中的元素時顯示該div。那就是:
$(document).ready(function(){
$("#cdcpanel").hide();
$("#contrpanel").hide();
$("#clickme").click(function() {
$("#cdcpanel").show(200, function() {
});
$("#contrpanel").hide(200);
});
$("#clickme2").click(function() {
$("#contrpanel").show(200, function() {
});
$("#cdcpanel").hide(200);
});
$("#hideall").click(function() {
$("#cdcpanel").hide(200);
$("#contrpanel").hide(200);
});
});
正如你所看到的,div的cdcpanel
和contrpanel
最初隱藏。點擊名爲clickme
的元素將會導致cdcpanel
被顯示,並且contrpanel
被隱藏。點擊元素clickme2
,反而會觸發相反的事件。問題是,除了Firefox之外,它不能在其他瀏覽器上運行。我在Chrome和IE上試過了,結果是div最初是隱藏的,但是通過點擊下拉菜單沒有任何反應。 這個腳本依賴於JQuery。它被稱爲在頁面開始使用以下內容:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jsshow.js"></script>
任何有關如何使事情工作的建議是值得歡迎的!預先感謝您的時間和耐心。
代碼看起來不錯。你應該看看控制檯的錯誤。 – 2011-03-07 13:46:15
^好主意。另外,如果要在頁面加載時隱藏'#cdcpanel'和'#controlpanel',最好將它們設置爲隱藏狀態,這樣可以避免顯示並隱藏元素的可能性,從而導致要重排的頁面。 – 2011-03-07 13:52:44
代碼看起來不錯,嘗試刪除jsshow.js並查看它是否有效,如果有效,則問題出現在該文件中。 也正如馬修所說,最好不要顯示它們,而不是「隱藏」它們; '(「#cdcpanel」)。hide();'to'$(「#cdcpanel」).css('display','none');'或者甚至更好,在你的CSS文件中改變它。 – 2011-03-07 14:01:14