javascript - 在悬停延迟中添加延迟

标签 javascript jquery jquery-hover

我想为下面的代码添加悬停效果的延迟。我的 jQuery 很弱。

$(".home-furniture .menu > ul > li > a").hover(function(e){
    e.preventDefault();
    $(".home-furniture .menu > ul > li > a").removeClass("active");
    $(".home-furniture .menu > ul > li > .gallery").removeClass("active");
    $(".home-furniture .menu > ul > li > div .viewer-border").css({"left":"-9999em"});
    $(this).next().find(".viewer-border").removeAttr("style");

    $(this).addClass("active");
    $(this).next().addClass("active");
});

最佳答案

设置一个计时器以在您希望的延迟后运行您的代码。假设您想取消悬停时的操作(此处显示有 1000 毫秒的延迟):

        var id;
        $(".home-furniture .menu > ul > li > a").hover(function (e) {
            e.preventDefault();
            id = setTimeout(function () {
                $(".home-furniture .menu > ul > li > a").removeClass("active");
                $(".home-furniture .menu > ul > li > .gallery").removeClass("active");
                $(".home-furniture .menu > ul > li > div .viewer-border").css({ "left": "-9999em" });
                $(this).next().find(".viewer-border").removeAttr("style");
                $(this).addClass("active");
                $(this).next().addClass("active");
            }, 1000);
        },
        function (e) {
            clearTimeout(id);
        });

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

相关文章:

javascript - 使用两个键创建 javascript map

javascript - Actionscript 和 JavaScript 有什么区别

javascript - 鼠标悬停时在图像元素上放置 jquery 动画

javascript - css/javascript : checking pixels of image where hover effect is triggered

javascript - 在另一个组件中单击时 react 打开模式窗口

javascript - 如何将 TypeScript 声明文件与 JavaScript 一起使用

jquery - 将 XPath 转换为 jQuery 选择器的工具?

jquery - 将 svg 图标悬停在输入上方被中断

jquery - 使用 jquery 更改缩略图的不透明度

javascript - Object.assign() 保留所有未更改的值