Javascript 如何将悬停属性与其他项一起使用?

Javascript 如何将悬停属性与其他项一起使用?,javascript,html,css,Javascript,Html,Css,我被什么东西卡住了 我有列表,当我将鼠标悬停在列表元素上时(在悬停功能中),我希望该列表元素中出现另一个按钮,当我将鼠标移到该列表元素上时,我希望该按钮消失 我试图做的是能够修复列表元素,并使列表上的修复按钮(push_pin)在它经过时处于主动、被动状态 $(".dashboard_li").mouseover( function () { $('.pin_false').css("display", "block");

我被什么东西卡住了

我有列表,当我将鼠标悬停在列表元素上时(在悬停功能中),我希望该列表元素中出现另一个按钮,当我将鼠标移到该列表元素上时,我希望该按钮消失

我试图做的是能够修复列表元素,并使列表上的修复按钮(push_pin)在它经过时处于主动、被动状态

 $(".dashboard_li").mouseover(
            function () {
                $('.pin_false').css("display", "block"); 
            } 
        ); 
        $(".dashboard_li").mouseout(
            function () {
                $('.pin_false').css("display", "none");
            }
        ); 
我可以这样做,但无论我在哪个元素上,我都必须显示它的“.pin\u false”类。

当您滚动任何列表元素时,所有“.pin_false”元素现在都是主动或被动的。

纯CSS解决方案:

.pin\u错误{
显示:无;
}
.dashboard\u li:悬停。pin\u错误{
显示:块;
}

这将确保只有类为
pin_false
的元素(该元素是悬停在
仪表板上的
元素的子元素)才会出现。

尝试在CSS中添加一个伪类,定义
显示:可见
显示:无

在jQuery中添加/删除伪类

以便只影响鼠标移动到的
.dashboard\u li
元素,您应该使用
mouseover
事件的目标来确定
.pin\u 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答案是最佳解决方案。

感谢您的回答。我解决了它如下

我给了“.dashboard_-li”和“.pin_-false”一个唯一的ID。每次我在“.dashboard_-li”上悬停时,我都会将唯一的ID放在上面,并将其定义为“ID.”到“.pin_-false”。我的工作如下。 谢谢大家:)


你能在JSFIDLE中复制这个问题吗。让我们看看你的HTML。你真的应该用CSS来管理悬停状态。也就是说,在悬停中悬停听起来像是可怕的用户体验。如果它在手机上,那就更糟了。
            $(".dashboard_li").mouseover(
                function (e) {
                    var id = $(this).attr("id");
                    var newId = id.substring(8, id.length);
                    var pin_value = "#pin_" + newId;
                    $(pin_value).css("display", "block");
                }
            );
            $(".dashboard_li").mouseout(
                function () {
                    $('.pin_false').css("display", "none");
                }
            );