javascript - 菜单悬停叠加延迟

标签 javascript jquery

我正在努力在 .js 中的 on:hover 菜单中添加 0.3 的叠加延迟。我尝试了 FadeIn()、Delay() 和出队(我可能做错了什么),但没有运气。有什么建议如何修改此功能吗?

$('.activate-overlay-effect').on('mouseenter mouseleave', '.menu-item-responsive', function(e) {
    var target = $('.menu');
    var overlay = $('#overlay');

    if (overlay.length && !$('#' + _.container).hasClass('touch')) {
        if (e.type == 'mouseenter') {
            target.addClass('hovered');
            overlay.removeClass('hidden');
        } else if (e.type == 'mouseleave') {
            target.removeClass('hovered');
            overlay.addClass('hidden');
        } else {}
    }

    return false;
});

最佳答案

有一些不错的插件可以做到这一点。其中之一是$.hoverDelay() 。它为“in”和“out”事件提供了可配置的延迟,如下所示:

$('.activate-overlay-effect').hoverDelay({
    delayIn: 200, 
    delayOut:700,
    handlerIn: function($element){
      $element.css({backgroundColor: 'red'});  
    },
    handlerOut: function($element){
      $element.css({backgroundColor: 'auto'});  
    }
}); 

关于javascript - 菜单悬停叠加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35623071/

相关文章:

javascript - 单击列排序会更改我们单击的列行的颜色 - javascript

javascript - 'var' 声明的变量和 'this' 在 Javascript 中创建的属性有什么区别?

javascript - 如何使用 ng-repeat

jquery - Firefox 操作系统特权应用程序错误 : call to eval() blocked by csp at jquery 1. 9.1

javascript - 我可以更改所选文本的 HTML 吗?

javascript - 为什么我的灯箱读取不了这个属性?

javascript - 如何从 <select> 下拉列表中删除现有的 <option>?

javascript - 通过 JavaScript 调整 iFrame 内容大小

javascript 使用复选框迭代对象数组

javascript - 在特定的 optgroup 中选择一个值