2011-03-07 66 views
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的cdcpanelcontrpanel最初隱藏。點擊名爲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> 

任何有關如何使事情工作的建議是值得歡迎的!預先感謝您的時間和耐心。

+1

代碼看起來不錯。你應該看看控制檯的錯誤。 – 2011-03-07 13:46:15

+0

^好主意。另外,如果要在頁面加載時隱藏'#cdcpanel'和'#controlpanel',最好將它們設置爲隱藏狀態,這樣可以避免顯示並隱藏元素的可能性,從而導致要重排的頁面。 – 2011-03-07 13:52:44

+0

代碼看起來不錯,嘗試刪除jsshow.js並查看它是否有效,如果有效,則問題出現在該文件中。 也正如馬修所說,最好不要顯示它們,而不是「隱藏」它們; '(「#cdcpanel」)。hide();'to'$(「#cdcpanel」).css('display','none');'或者甚至更好,在你的CSS文件中改變它。 – 2011-03-07 14:01:14

回答

-1

我不相信下拉菜單的選項元素有點擊事件。嘗試改變事件。

相關問題