私が取り組んでいる Web ページでは、ユーザーがリンクの上にマウスを置いたときに画像を表示する基本的な CSS 効果を使用しています。
HTML は次のようになります。
<div id="container">
<ul>
<li>
<a href="" id="first-link"><div id="first-image"></div>First link text</a>
<a href="" id="second-link"><div id="second-image"></div>Second link text</a>
<a href="" id="third-link"><div id="third image"></div>Third link text</a>
</li>
</ul>
</div> <!-- #container -->
それぞれdiv
の内部にa
は、CSS で適用された背景画像があります。リンクをホバーしたときに画像を表示する CSS は次のとおりです。
#first-link:hover #first-image,
#second-link:hover #second-image,
#third-link:hover #third-image {
display:block;
}
ここで、jQuery を追加したいと思います。スクリプトでランダムに選択しa
、div
そこに含まれる (マウス ホバーを「強制」するかのように) ようにします。
これを可能にするために、.jquery-select クラスを HTML に追加しています。これにより、必要な を選択できるようa
になります。
<div id="container">
<ul>
<li>
<a href="" id="first-link" class="jquery-select"><div id="first-image"></div>First link text</a>
<a href="" id="second-link" class="jquery-select"><div id="second-image"></div>Second link text</a>
<a href="" id="third-link" class="jquery-select"><div id="third image"></div>Third link text</a>
</li>
</ul>
</div> <!-- #container -->
また、.hovered クラスを CSS に追加しています。
#first-link:hover #first-image,
#second-link:hover #second-image,
#third-link:hover #third-image,
#first-link.hovered #first-image,
#second-link.hovered #second-image,
#third-link.hovered #third-image {
display:block;
}
次に、JavaScript で乱数を選択します。
var random = Math.floor(Math.random()*3);
a
そして、次を含むランダムに選択されたクラスに.hoveredクラスを追加したいdiv
:
$("a.jquery-select").eq(random).children("div").addClass("hovered");
そして、これは私の努力が惨めに失敗する場所です。なぜなら、どういうわけか何も選択されず、ランダムな画像が表示されないからです。私の選択が間違っているか、.hovered クラスを CSS や jQuery で間違った要素に割り当てているか、または上記のすべてが原因で、それを機能させる方法がわかりません。
ですから、これらのことをもう少しよく知っている人からのアドバイスが必要です。どうすれば機能しますか?