【发布时间】:2014-05-15 22:07:07
【问题描述】:
我为标题道歉,但有点难以解释。我有这两个 div:
<div id="a">
<div class="categoryBlock"></div>
<div class="categoryBlock"></div>
<div class="categoryBlock"></div>
<div class="categoryBlock"></div>
<div class="categoryBlock"></div>
</div>
<div id="b">
<div class="smallDef"></div>
<div class="smallDef"></div>
<div class="smallDef"></div>
<div class="smallDef"></div>
<div class="smallDef"></div>
</div>
如果用户将鼠标悬停在第一个容器中的第二个 div 上,则应该显示第二个容器中的第二个 div。第三,第四,第五,......
我有这个代码:
var CatBlock = $("#content_main-portal-page .categoryBlock");
CatBlock.each(function() {
$(this).hover(function() {
var indexHoverItem = $("#a").find(".categoryBlock").index($(this));
$("#smallDef").eq(indexHoverItem).stop(true,true).fadeIn(160);
}, function() {
var indexHoverItem = $("#a").find(".categoryBlock").index($(this));
console.log(indexHoverItem);
$("#smallDef").eq(indexHoverItem).stop(true,true).delay(160).fadeOut(160);
});
});
目前,只有第一个悬停有效(在第一个元素上),就好像没有每个悬停一样。有人能帮帮我吗?
【问题讨论】:
-
你能给我们更多的代码吗,比如 .categoryBlock 是什么?
-
对不起,我正在编辑它。
-
首先在你的 jQuery 中你有
#smallDef但是没有小的 defs。有.smallDef如果您使用 ids,您只会让第一个元素工作,因为 id 只会返回一个元素 ids 必须是唯一的。还要带上您的 indexHoverItem 并使其成为全球性的。添加监听器,当您将鼠标悬停在smallDef [indexHoverItem].style.display="block";时,我看到的只是一些小错误,所以修复这些然后从那里开始。 -
EasyBB,我知道,我在这里发布它的速度太快了。这些当然是课程。