提问者:小点点

如何将hover属性与另一项一起使用?


我被什么东西卡住了。

我有一个列表,当我悬停在列表元素上(在悬停特性中)时,我希望列表元素中的另一个按钮出现,当我在上面移动鼠标时,我希望该按钮消失。

我试图做的是能够修复列表元素,并使列表上的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'元素现在都是活动的或被动的。


共3个答案

匿名用户

纯CSS解决方案:

.pin_false {
    display: none;
}

.dashboard_li:hover .pin_false {
    display: block;
}

这将确保只有类pin_false的元素才会出现,该类是悬停在上面的dashboard_li元素的子元素。

匿名用户

尝试在CSS中添加一个伪类,定义display:visibledisplay: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答案是最优的解决方案。