【发布时间】:2013-12-31 03:13:20
【问题描述】:
这是我在网上找到的显示/隐藏脚本。当您单击“查看菜单”图像时,它应该为每个部分显示隐藏的div。由于某种原因,我无法在 Internet Explorer 上显示/展开它,但它在 Firefox 中运行良好。
http://www.abatchoflove.com
<script type="text/javascript">
function unhide(divID) {
var item = document.getElementById(divID);
if (item) {
item.className = (item.className == 'hidden') ?'unhidden':'hidden';
}
}
</script>
这是 CSS 部分。
<style type="text/css">
.hidden { display: none; }
.unhidden { display: block; }
</style>
这就是这些部分中的代码。
<td valign="top" bgcolor="#51BEB7">
<a href="javascript:unhide('cookiesmenu');">
<img src="images/cookies_nav.gif" border="0" usemap="#Map2">
</a>
<div id="cookiesmenu" class="hidden">
<img src="images/cookies_menu.gif">
</div>
</td>
如果我能得到一点帮助会很高兴......或者如果有其他方法可以解决它。提前谢谢你。
【问题讨论】:
-
我建议您使用 jQuery 或其他 javascript 库来为您处理这个问题,因为它们都为维护跨浏览器兼容性付出了巨大的努力。
-
我会尝试直接更改样式属性: item.style.display = "block"; vs item.style.display = "none";
-
在我看来,就像您的
javascript:unhide('cookiesmenu')一样,因为 href 没有在 IE 中执行。我建议您切换到事件处理程序而不是javascript:URL。我不知道这是 IE 中的问题,但常规事件处理程序在 IE 中工作得很好,并且您的unhide()函数中的 IE 中的断点根本没有被命中。
标签: javascript html css