基本上,我的客户希望在鼠标悬停图像时出现隐藏导航。我已经解决了当您将鼠标悬停在导航上时导航不隐藏,然后在您离开导航时隐藏的问题。我遇到了两个问题,我尝试了各种我认为可行的不同组合,但当然没有。这两个问题是:
当您将鼠标悬停在图像上而不将鼠标悬停在导航上时,导航需要隐藏,截至目前,它保持打开状态,直到您再次将鼠标悬停在图像上或鼠标离开导航。
第二个问题是,当您将鼠标离开导航直接将鼠标悬停在图像上时,它会循环功能并隐藏导航然后再次打开导航,我尝试将 slideToggle 更改为显示,但这会导致一大堆其他问题。
现在代码的行为与我想要的一样接近并且可以被认为是可以接受的,但我很想知道如何解决上述问题。我考虑过使用 hoverIntent 插件来感知鼠标的移动,并且只有在鼠标变慢时才触发功能,但无法使其正常工作。显然,我是 javascript 和 jquery 的新手,所以请原谅我,但我非常感谢任何帮助。
这是我的代码
$(document).ready(function(){
$(".nav-body").hide();
$(".nav-head").mouseover(function(){
$(this).next(".nav-body").slideToggle(600);
$(".nav-body").mouseleave(function(){
$(this).hide(700);
});
});
});
这是我的html:
<p class="nav-head"><img src="/images/face-btn.jpg" /></p>
<div class="nav-body">
<ul><?php wp_list_pages('title_li=&child_of=12&depth=1'); ?></ul>
</div>