アップデート
私がこれをコミュニティ wiki にしているのは、次の 3 つの理由からです。
- 明確な答えが得られた気がしませんが、
- 私は自分のアコーディオン関数を巻いたので、私は長い間答えを必要としなくなりました
- この質問には多くの意見が寄せられているため、多くの人がまだ興味を持っていることは明らかです
したがって、誰かがこの質問を変更/明確化し、決定的なガイドにしたい場合は、私のゲストになってください.
jQuery のアコーディオン UI 要素を使用してページに取り組んでいます。この例に基づいて HTML をモデル化しましたが、<li>
要素内に順序付けされていないリンクのリストがいくつかあります。このような:
$(document).ready(function() {
$(".ui-accordion-container").accordion(
{active: "a.default", alwaysOpen: true, autoHeight: false}
);
});
<ul class="ui-accordion-container">
<li> <!-- Start accordion section -->
<a href='#' class="accordion-label">A Group of Links</a>
<ul class="linklist">
<li><a href="http://example.com">Example Link</a></li>
<li><a href="http://example.com">Example Link</a></li>
</ul>
<!--and of course there's another group -->
問題: IE アニメーションが悪臭を放つ
IE7 はドキュメントの例のアコーディオン メニューをうまくアニメーション化しますが、私の場合は問題があります。具体的には、ページ上の 1 つのアコーディオン メニューがぎこちなく動き、コンテンツが点滅します。 CSS ファイルを含めないと同じことが起こるので、これが CSS の問題ではないことはわかっています。
ページ上のもう 1 つのアコーディオン メニューは、クリックした最初のセクションを開き、その後、それらのいずれも開きません。
これらの問題は両方とも IE 固有の問題であり、オプションを使用すると両方とも解消されますanimated: false
。slide
しかし、ユーザーがメニューの動作を理解するのに役立つので、デフォルトのアニメーションを維持したいと思います。
別の方法はありますか?