【问题标题】:Delay for hover function in jqueryjquery中悬停功能的延迟
【发布时间】:2023-03-17 13:08:02
【问题描述】:

我为下拉菜单做了自己的延迟功能。由于我是 JavaScript 的新手,我想知道这是否可以以更好的方式完成?

var $hasSubpages = $("#divContainer .classForPagesWithSubpages");

function theFunction(){$('#theID').find('.classForChild').slideDown(400);}

var timer;
$hasSubpages.hover(
    function (){
        timer = setTimeout(theFunction, 500);
        $(this).attr('id','theID');
    },
    function(){
        clearTimeout(timer);
        $(this).attr('id','').find('.classForChild').slideUp(400);
    }
);

【问题讨论】:

    标签: jquery hover delay submenu


    【解决方案1】:

    已经为此开发了一个名为 hoverIntent 的漂亮插件。

    http://plugins.jquery.com/project/hoverIntent

    如果您需要任何帮助来了解它的工作原理,我可以告诉您。否则它很容易使用。

    【讨论】:

    • 你是对的,我也在使用相同的插件...用于所有悬停效果和延迟。
    • 感谢您的回答。真的很难区分吗?
    【解决方案2】:

    使用delay() 函数

    $('#test').slideDown(500).delay(3000).slideUp(500);
    

    这将导致元素向下滑动等待 3 秒然后向上滑动

    http://jsfiddle.net/wanJf/查看工作示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2010-09-30
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多