Javascript 在菜单下拉栏上应用2秒延迟
仅当我悬停父项时,我试图在magento下拉菜单项上实现两秒钟的延迟。但我发现了一些问题 这里我有一个jQuery作为第一个菜单项。因此,当我将项目悬停时,其子菜单将在两秒钟后显示。我的jQuery是:Javascript 在菜单下拉栏上应用2秒延迟,javascript,jquery,html,web-services,magento,Javascript,Jquery,Html,Web Services,Magento,仅当我悬停父项时,我试图在magento下拉菜单项上实现两秒钟的延迟。但我发现了一些问题 这里我有一个jQuery作为第一个菜单项。因此,当我将项目悬停时,其子菜单将在两秒钟后显示。我的jQuery是: jQuery(".level0.nav-1").mouseover(function() { setTimeout(function() { jQuery(".level0.nav-1 .dropdown-container.left").show(); }, 2
jQuery(".level0.nav-1").mouseover(function() {
setTimeout(function() {
jQuery(".level0.nav-1 .dropdown-container.left").show();
}, 2000);
});
jQuery(".level0.nav-1").mouseout(function() {
setTimeout(function() {
jQuery(".level0.nav-1 .dropdown-container.left").hide();
}, 0);
});
问题是在我做了一个鼠标移动动作后,子菜单不会立即消失。只有当我重新将鼠标移到项目上并将鼠标移出时。有人能帮我解决这个问题吗?我会很高兴学习一种新的方法,而不是我的方法。(我想这实际上不是很好)。你能用“模糊”吗
您不能将相同的“鼠标移出”事件也添加到第二级,但不延迟2秒吗 例如:
jQuery(".level0.nav-1 .dropdown-container.left").mouseout(function() {
$(this).hide();
});
你能详细说明你的答案吗?因为模糊只是失去焦点(只有一个事件),如果你有第二个菜单的焦点并且失去了它,它会消失得更快。尝试使用mouseenter/mouseleave,并且不需要在mouseleave
$(“.level0.nav-1.dropdown container.left”)中设置timeout。delay(2000)。fadeIn()代码>&删除设置超时
功能。
jQuery(".level0.nav-1 .dropdown-container.left").mouseout(function() {
$(this).hide();
});