0

我有以下网站:

http://www.pachamber.org/www/advocacy/index.php

当用户点击底部的“General Commerce”href 标签时,它应该会滑出隐藏的内容。除此标签外,所有其他标签都可以正常工作。

该函数仅在 IE 中出现意外行为。在 Chrome 和 FF 中看起来不错。在调试函数时,似乎没有height从 div 中抓取属性:

<div id="general" style="display: none; height: 30px; overflow: hidden">

height属性在这一行显示为 1px:

this.height = parseInt(this.obj.style.height);

这是 HTML 和函数调用的片段:

<table width="100%" border="0" cellspacing="0" cellpadding="6">
<tr>
    <td colspan="2" style="width: 100%;">
      <div class="subheading2"  style="border-bottom: thin solid gray; cursor: pointer; color: #000099" onClick="doSlideOut('general');"><a name="general"></a>General Commerce</div>
    </td>
</tr>
</table>
<div id="general" style="display: none; height: 30px; overflow: hidden">
<table width="100%" border="0" cellspacing="0" cellpadding="6">
<tr>
    <td width="53%">
        &bull; <a href="gc/testimony/index.php" >Testimony &amp; Comments</a>
    </td>
    <td width="47%">&nbsp;</td>
</tr>
</table>
</div>

有什么我想念的想法吗?

谢谢。

4

2 回答 2

1

在 Internet Explorer 中使用 getElementById 时注意 id 和 name 属性描述了导致您的问题的 IE 的愚蠢行为。

如果有两个具有相同值的元素idname(在您的情况下是具有 idgeneral-commerce和链接的 div General Commerce)IE 将在使用 getElementById 时获取其中一个。

解决方案是更改链接的名称属性或 div 容器的 id。

于 2012-04-26T19:34:54.340 回答
0

我看到的一件事是你的脚本中有错误。

虫虫错误

像这样的错误会破坏 JS 的正常运行。

查看我的一个网站,了解如何使用 jQuery 执行此操作(查看“我们的课程”下的链接)。

$('.lgroup').on('click', function () {
    if ($(this).hasClass('directLink')) {
        return true
    } else {
        $('.links').slideUp();
        $('.lgroup').removeClass('lactive');
        if ($(this).next().css('display') == 'block') {
            $(this).next().slideUp()
        } else {
            $(this).addClass('lactive').next().slideDown()
        }
    }
});
于 2012-04-26T19:25:50.740 回答