Bow*_*ema 2 navigation jquery mouseout
我是一个完全绝对的jQuery noob.我一直在按照教程添加一个CSS/jQuery导航菜单到我的网站,我得到它的工作..我唯一想看到的是鼠标输出的小延迟,因为下拉菜单立即消失鼠标移出时会使菜单有点烦人.这是我的脚本:
function mainmenu(){
$(" .top-menu ul ").css({display: "none"}); // Opera Fix
$(" .top-menu li").hover(function(){
$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
}
$(document).ready(function(){
mainmenu();
});
Run Code Online (Sandbox Code Playgroud)
是否有人会如此友好地将所需的代码添加到此脚本中.我会保证研究你是如何做到的,所以我实际上是从中学到的;-D
你可以这样做,给它一个500ms的延迟:
function mainmenu(){
$(".top-menu ul ").hide();
$(".top-menu li").hover(function() {
clearTimeout($.data(this, 'timeout'));
$(this).find('ul:first').show(400);
}, function() {
$.data(this, 'timeout', setTimeout($.proxy(function() {
$(this).find('ul:first').hide();
}, this), 500));
});
}
$(mainmenu);
Run Code Online (Sandbox Code Playgroud)
这会增加一个500毫秒的延迟,setTimeout()并且只使用元素存储定时器ID $.data(),当在元素中回来时,它将清除超时并且不会再次运行它,直到你结束...所以你必须是将元素关闭500ms以使其隐藏.
或者,做一些与hoverIntent插件非常相似的东西,这就是针对这个问题.
| 归档时间: |
|
| 查看次数: |
3425 次 |
| 最近记录: |