滑下菜單我想這個js代碼:等待300毫秒,然後使用jQuery
<script type="text/javascript">
$(document).ready(function() {
var timer;
$('.top-menu-first-ul li').hover(function(){
if(timer) {
clearTimeout(timer);
timer = null
}
timer = setTimeout(function() {
$(this).find('ul').slideToggle(100);
}, 500)
},
// mouse out
});
});
</script>
與這個網站:
<ul class="top-menu-first-ul">
<li>
<a href="http://google.com">Google</a>
<ul class="top-menu-second-ul">
<li><a href="http://translate.google.com">Google Translate</a></li>
<li><a href="http://images.google.com">Google Images</a></li>
<li><a href="http://gmail.google.com">Gmail</a></li>
<li><a href="http://plus.google.com">Google Plus</a></li>
</ul>
</li>
<li>
<a href="http://facebook.com">Facebook</a>
</li>
<li>
<a href="http://twitter.com">Twitter</a>
</li>
</ul>
,但它無法正常工作。
我想在懸停時顯示子菜單。谷歌鏈接和其他將在300ms後出現。
所以,我需要防止加載子菜單,當用戶只是快速懸停在它上面,而不是留在懸停鏈接至少300毫秒。
然後當他離開鏈接時,我需要停止執行代碼(或向上滑動)。因爲如果他一遍又一遍地回顧一段時間,他會停下來徘徊anfd代碼仍然執行自己有多少次懸停在鏈接上。我需要以某種方式防止這種情況發生。
編輯:我需要解決這個不喜歡hoverIntent等。如果可能的插件,只是簡單的JavaScript和jQuery
謝謝,但只要我離開谷歌,並希望將鼠標懸停在Google翻譯,Google郵件等子菜單上,它們就會消失。你能修好它嗎? – Derfder
是的,只需用'mouseleave'改變'mouseout'即可。再次檢查演示。 – elclanrs
謝謝,起初你的更新版本不工作,但我注意到,如果我打開jsfiddle你的演示jquery 1.6它不會工作。所以,我已經將我的jQuery從1.6.2版本升級到最新的1.8.1版本,並且它工作的很好;)。謝謝。 – Derfder