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 の愚かな動作が原因で問題が発生することが説明されています。

idandに同じ値を持つ 2 つの要素があるname場合 (あなたの場合は idgeneral-commerceと linkを持つ divGeneral Commerceです)、IE は getElementById を使用するときに両方の要素のいずれかを取得します。

解決策は、リンクの name-attribute または div-container の id を変更することです。

于 2012-04-26T19:34:54.340 に答える
0

私が見たのは、あなたのスクリプトのエラーでした。

バグバグエラー

このようなエラーは、JS が適切に動作しなくなります。

私のウェブサイトの 1 つをチェックして、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 に答える