jquery - 在下拉菜单上添加 mouseleave 延迟

标签 jquery drop-down-menu opencart delay mouseleave

我使用的是旧版本的 Opencart (1.5.5.1) 和 Journal 主题。

鼠标离开时下拉菜单立即消失。这在桌面上并不是真正的问题,但在触摸屏设备上却会引起问题。我需要它停留几秒钟,然后最好快速淡出。

我读过一些关于这个主题的类似文章,但发现解决方案有点难以应用于我的代码。我什至不确定 mouseleave 是否以同样的方式适用于触摸屏(可能不是)。

任何人都可以通过添加某种适用于桌面和移动设备的延迟来提供帮助吗?

代码如下:

$('#cart > .heading a').die('click');
$('#cart').die('mouseleave').die('mouseover').die('mouseleave').die('click');
$('#cart').live('mouseover', function () {
    if (!$("#cart").hasClass('active')) {
        if (!Journal.isOC2) {
            $('#cart').load('index.php?route=module/cart #cart > *');
        }
        $('#cart').addClass('active');
        $('#cart').live('mouseleave', function () {
            $(this).removeClass('active');
        });
    }
});

最佳答案

您可以使用 jQuery delay()功能。 “仅当您使用 jquery 的函数时”

但是,如果您要使用 removeClass() 函数删除该类,它将不起作用。您可以在 CSS 中执行类似的操作来延迟某些操作。

我使用转换延迟。我希望这将完全或至少接近您的目标。 :)

`

$('#test').hover(function(){
  $('#dropdown').addClass('active');
}, function(){
  $('#dropdown').removeClass('active');
});
/* Change transition-delay 2s(2 seconds) to how long do you want to delay it. */
#dropdown.active{
  opacity: 1 !important;  
  -webkit-transition-property: opacity; /* Safari */
    -webkit-transition-delay: 0s; /* Safari */
    transition-property: opacity;
    transition-delay: 0s;
}

#dropdown{
  opacity: 0;
  -webkit-transition-property: opacity; /* Safari */
    -webkit-transition-delay: 2s; /* Safari */
    transition-property: opacity;
    transition-delay: 2s;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="test">
    HOVER ME PLEASE!
</div>

<div id="dropdown">
    EXAMPLE DROPDOWN
</div>

`

关于jquery - 在下拉菜单上添加 mouseleave 延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120680/

相关文章:

jquery - 单击传单中的缩放和居中标记

javascript - AngularJS 在 ng-repeat 中选择单个表格单元格

javascript - 如何通过这个获取特定的div?

javascript - 如何使用 Angular Js 在下拉菜单中进行按键选择?

C# switch语句查询MYSQL数据库

javascript - JQuery:用另一组元素替换一组元素的优雅方式?

javascript - 多个下拉菜单的依赖下拉选项

php - Internet Explorer jQuery 重定向

javascript - opencart 在类别页面添加到购物车而不将商品添加到购物车

opencart - 什么是 open-cart 中的 mvcl 设计模式?