只显示潜水时悬停按钮X时间-可以'我不能使它正常工作
Only Show Divs When Hovering Button for X Time - Can't make it work properly
所以我正在制作一个菜单,当你把鼠标悬停在菜单按钮上时,它会显示各种div,但问题是当你把光标悬停在按钮上时事件会立即触发,这是我不希望的,因为如果你把鼠标滑到多个按钮上,它们会同时触发并显示/隐藏div容器(看起来很糟糕)。
我希望只有当用户将按钮悬停一定时间(如500ms)时才会触发事件,因为这样他们一次只能看到一个div容器。
这是我正在使用的代码,例如菜单按钮:
$(".menu-button").hover(function(e) {
e.preventDefault(); //To prevent default anchor tag behaviour
e.stopPropagation(); //To prevent parent container click event from firing
$(".menu-container").delay(300).slideDown(800);
});
var myTimer = false;
$(".menu-button, .menu-container").hover(function(){
//mouse enter
clearTimeout(myTimer);
},function(){
//mouse leav
myTimer = setTimeout(function(){
$(".menu-container").slideUp(500);
},100)
});
Fiddle:http://jsfiddle.net/1g0Lraec/5/
这让我发疯了,我希望有人能帮我!
谢谢:-)
您可以使用这个:
var upTimer = false ,
downTimer = false ,
isHover = false ;
$(".menu-button, .menu-container").hover(function(){
isHover = true;
clearTimeout(upTimer);
downTimer = setTimeout(function(){
if(isHover)
$(".menu-container").slideDown(500);
},500);
},function(){
isHover = false;
clearTimeout(downTimer);
upTimer = setTimeout(function(){
$(".menu-container").slideUp(500);
},100);
});
JSFIDDLE
这也会起作用:
var downTimer = false
$(".menu-button, .menu-container").hover(function(){
downTimer = setTimeout(function(){
$(".menu-container").slideDown(500);
},500);
},function(){
clearTimeout(downTimer);
$(".menu-container").slideUp(500);
});
相关文章:
- javascript扫雷器floodfill算法不能正常工作
- 为什么这个代码不能正常工作
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 为什么Turbolinks不能正常工作?Rails应用程序
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 为什么动态加载的事件在我的代码中不能正常工作
- 为什么竞争不能在离子中显示(隐藏在标题下方)(离子竞争不能正常工作)
- 变量只能在函数中局部工作,不能全局工作-Javascript
- 为什么AngularJS$作用域不能正常工作
- 反向名称的JavaScript函数不能正确工作(例如学习JavaScript-O'Reilly)
- 两个独立工作的javascript函数,但不能一起工作
- Rcharts 和 D3 图不能协同工作
- jquery gallery 不能完全工作
- Caret函数没有'如果插入符号在最后一个位置,就不能正常工作
- 如果else-bind不能正常工作,则淘汰
- 我的ajax加载栏出了什么问题?为什么它不能正常工作
- 为什么不'我的if/else语句不能正常工作
- 为什么我的Javascript代码不能正常工作
- 选中的单选按钮在jQuery模式对话框中不能正常工作
- jquery draggable和resizable在动态生成的元素中不能一起工作