当我将鼠标悬停在div.cart-dropdown
上时,我正在努力展示购物车内容a.cart-button
。
我可以进行div显示,但当鼠标移出锚a.cart-button
时,div.cart-dropdown
消失
这是代码
.cart-dropdown{
display:none;
}
a.cart-button:hover + .cart-dropdown{
display: block;
}

<a href="#" class="cart-button">Cart Button</a>
<div class="cart-dropdown">
Cart dropdown content
</div>
&#13;
如何在鼠标移出div.cart-dropdown
a.cart-button
我必须使用jQuery吗?
答案 0 :(得分:5)
一个简单的解决方案是将两个元素放在一个包装器中,而不是显示兄弟节点,当.cart-button
悬停时,在包装器出现时显示一个子节点。
<div class="dropdown-wrapper">
<a href="#" class="cart-button">Cart</a>
<div class="cart-dropdown">
Cart dropdown content
</div>
</div>
.dropdown-wrapper:hover .cart-dropdown {
display: block;
}
这样,即使光标移动到下拉菜单,它仍然在.dropdown-wrapper
内,并将菜单保持在display: block
答案 1 :(得分:3)
尝试使用此代码,它可能会对您有所帮助
.cart-button {
position: relative;
display: inline-block;
}
.cart-dropdown {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
z-index: 1;
}
.cart-button:hover .cart-dropdown {
display: block;
}
<div class="cart-button">
<a>Cart Button</a>
<div class="cart-dropdown">
Cart dropdown content
</div>
</div>
答案 2 :(得分:0)
您可以在mouseover事件中添加css类,将显示块添加到cart-dropdown的div中:
<script type="text/javascript">
$(".cart-button").one("mouseover", function() {
$(".cart-dropdown").addClass('permahover');
});
</script>
<style>
.permahover{
display: block;
}
</style>