鼠标悬停时出现棘手的延迟
这就是我目前所拥有的:
$("#cart-summary").mouseenter(function () {
$('.flycart').delay(500).slideDown('fast');
});
$(".flycart").mouseleave(function () {
$('.flycart').delay(500).slideUp('fast');
}).find('a.close').click(function(){
$(this).parents('.flycart').hide();
});
它的作用是:
如果鼠标悬停在 #cart-summary -> 500ms 后打开 Flycart
如果 mouseout .flycart -> 500 毫秒后关闭 Flycart
我需要的是:
如果鼠标悬停在 #cart-summary 上至少 500 毫秒 -> 如果 mouseout .flycart 至少 500 毫秒,则打开 Flycart
-> close Flycart
编辑添加: 我也使用hoverIntent,如果可以在这里使用吗?
非常感谢!
This is what I have currently:
$("#cart-summary").mouseenter(function () {
$('.flycart').delay(500).slideDown('fast');
});
$(".flycart").mouseleave(function () {
$('.flycart').delay(500).slideUp('fast');
}).find('a.close').click(function(){
$(this).parents('.flycart').hide();
});
What it does is:
If mouseover #cart-summary -> open flycart after 500ms
if mouseout .flycart -> close flycart after 500ms
What I need is:
If mouseover #cart-summary for ATLEAST 500ms -> open flycart
if mouseout .flycart for ATLEAST 500ms -> close flycart
Edited to Add: I also use hoverIntent, if that can be used here?
Many thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 setTimeout 检查您设置/取消设置的标志(我正在使用一个类)是否仍然有效。
Use the setTimeout to check if a flag you set/unset (I'm using a class) is still valid.
听起来您可能需要 HoverIntent 插件。
我不知道它是否能帮助你解决鼠标移出至少 500 毫秒的问题。但也许有一个选择。
Sounds like you might need the HoverIntent plugin.
I don't know if it'll help you with the mouseout ATLEAST 500ms though. But maybe there's an option in there for that.
您可以使用 hoverIntent 插件,如下所示:
You can use the hoverIntent plugin as follows:
你可以这样做:
You could do:
提供的解决方案将会起作用
如果购物篮动态更新,
offer a solution
will work if the basket is updated dynamically