我被什么东西卡住了。
我有一个列表,当我悬停在列表元素上(在悬停特性中)时,我希望列表元素中的另一个按钮出现,当我在上面移动鼠标时,我希望该按钮消失。
我试图做的是能够修复列表元素,并使列表上的fix按钮(push_pin)处于活动状态,当它经过列表时处于被动状态。
$(".dashboard_li").mouseover(
function () {
$('.pin_false').css("display", "block");
}
);
$(".dashboard_li").mouseout(
function () {
$('.pin_false').css("display", "none");
}
);
我可以这样做,但无论我在哪个元素上,我都必须显示它的'.pin_false'类。
当您在任何列表元素上滚动时,所有'.pin_false'元素现在都是活动的或被动的。
纯CSS解决方案:
.pin_false {
display: none;
}
.dashboard_li:hover .pin_false {
display: block;
}
这将确保只有类pin_false
的元素才会出现,该类是悬停在上面的dashboard_li
元素的子元素。
尝试在CSS中添加一个伪类,定义display:visible
和display:none
,并在jQuery中添加/删除伪类
为了只影响鼠标经过的.dashboard_li
元素,您应该使用mouseover
事件的目标来确定.pin_false
查询的范围:
$(".dashboard_li").mouseover(function(mouseoverEvent) {
$(mouseoverEvent.currentTarget).find('.pin_false').css("display", "block")
});
$(".dashboard_li").mouseout(function(mouseoutEvent) {
$(mouseoutEvent.currentTarget).find('.pin_false').css("display", "none")
});
话虽如此,我认为John Warren的纯CSS答案是最优的解决方案。