延迟功能不起作用?

Delaying function not working?

我正在尝试延迟此功能。

$(".add2cartPopEffect").on('click', hideModal);

当您单击按钮时 "hides the popup box" 但是我想延迟大约半秒而不是立即执行。

起初我以为这很容易。我只是在最后添加 .delay ..(我想)但是它不起作用并且该功能仍然会立即触发...

$(".add2cartPopEffect").on('click', hideModal).delay( 800 );

非常感谢任何帮助!

就像 Hamms 所说的那样,使用 setTimeout 就像这样:

$(".add2cartPopEffect").on('click', function() {
    setTimeout(hideModal, 500);
});

您可以使用 setTimeoutqueue

使用setTimeout

它在指定的毫秒数后调用函数或计算表达式。

更多详情here

$(".add2cartPopEffect").on('click', function() {
    setTimeout(hideModal, 800);
});

使用队列

它将您给定的函数添加到要在当前为 this 的匹配元素上执行的函数队列中,然后在队列中为当前为 this 的匹配元素执行下一个函数。

更多详情here

$(".add2cartPopEffect").on('click', function() {
    $(this).delay(800).queue(function() {
        hideModal();
        $(this).dequeue();
    });
});