アクセシビリティの観点からはこれが最善のアイデアではないことはわかっていますが、機能を決定するのは私次第ではありません:)
一度に 1 つの「コンテンツ ボックス」が表示されるようにしたい (合計 3 つある) - 現在表示されているボックスは、どの対応するリンクがホバーされているかによって決定されます (そして、ボックス 1 はページの読み込み前に表示されます)。任意のホバー アクション)。
次の HTML があるとします。
<ul>
<li id="link-one">Link One</li>
<li id="link-two">Link Two</li>
<li id="link-three">Link Three</li>
</ul>
<div id="box-one">Content for box one.</div>
<div id="box-two">Content for box two.</div>
<div id="box-three">Content for box three.</div>
#box-one をデフォルトで表示させたいです。次に、#link-two または #link-three にカーソルを合わせると、それに応じて #box-two または #box-three が表示されます。
転送中にフェードアニメーションがあれば最高です。
これは私がこれに取り組んでいる考え方です-これは有効なjQuery構文ではないことを認識していますが、誰かがこれを実際のものに変えるのを手伝ってくれるなら、私はそれを大いに感謝します!
if ($(#link-one).mouseenter(function() {
$(#box-one).show();
$(#box-two).hide();
$(#box-three).hide();
});)
if ($(#link-two).mouseenter(function() {
$(#box-two).show();
$(#box-one).hide();
$(#box-three).hide();
});)
if ($(#link-three).mouseenter(function() {
$(#box-three).show();
$(#box-one).hide();
$(#box-two).hide();
});)
自己批判: 私のコードは、新しいリンク/ボックス コンボを追加するとうまくスケーリングしません。非常に非効率に思えますが、これを達成する方法が他にわかりません。新しいボックスが表示されるときに、フェードイン/フェードアウト転送を実現するためのより良い方法がおそらくあります。どんなアイデアでも大歓迎です。
ありがとう!