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