我正在工作的网页使用基本的 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);
我想将 .hovered 类添加到一个随机选择a
的包含一个div
:
$("a.jquery-select").eq(random).children("div").addClass("hovered");
这就是我的努力惨遭失败的地方,因为不知何故没有选择任何东西,随机图像也没有显示。要么我的选择是错误的,要么我将 .hovered 类分配给 CSS 或 jQuery 中的错误元素,或者以上所有 - 我不知道如何使它工作。
所以,我需要一个更了解这些事情的人的建议。我如何使它工作?