【发布时间】:2019-11-01 10:43:35
【问题描述】:
当列表元素悬停时,我需要显示div,有点像下拉菜单。
我已经有办法使用 jQuery 来做到这一点,这正是我想要的,但问题是当我将鼠标从列表(li 元素)移开时,div 消失了。我希望能够将鼠标从列表元素移动到 div 并能够与 div 中的元素进行交互。
这将通过点击功能解决,但我不想使用点击,因为 div 上的元素将包含锚链接,当点击时会将用户带到页面下方,因此您可以看到点击功能如何显示并保留 div 不是一个好主意,除非我能找到一种方法在单击其内容(锚链接)时关闭 div。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style>
.nav-item-dropdown {
position: absolute;
/* other styles ... */
}
</style>
<div class="nav-wrap">
<ul>
<li id="nav-item1" class="nav-item-wrap">Services</li>
<li id="nav-item2" class="nav-item-wrap">Projects</li>
</ul>
</div>
<div class="nav-item-dropdown nav-item1-dropdown">
<!-- Drop-down nav contents for services (title and image) wrapped by anchor link goes here -->
</div>
<script>
$(document).ready(function() {
jQuery('#nav-item1').hover(function() {
$('.nav-item1-dropdown').toggle();
});
jQuery('#nav-item2').hover(function() {
$('.nav-item2-dropdown').toggle();
});
});
</script>
我希望能够将鼠标从列表元素 (.nav-item-wrap) 移动到 div (.nav-item-dropdown) 并能够与 div 中的元素进行交互。当我将鼠标从触发它的列表元素移开时,我不希望 div 消失。
【问题讨论】:
标签: javascript jquery jquery-hover