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