我正在尝试延迟此功能。
$(".add2cartPopEffect").on('click', hideModal);
当你点击按钮时它会“隐藏弹出框”但是我想延迟大约半秒而不是瞬间。
我起初认为这很容易。我只是添加.delay到最后..(我想)但它不工作,功能仍然立即激发......
$(".add2cartPopEffect").on('click', hideModal).delay( 800 );
非常感谢任何帮助!
答案 0 :(得分:1)
您可以使用 setTimeout 或队列。
使用 setTimeout 。
它调用函数或在指定的毫秒数后计算表达式。
更多详情here。
$(".add2cartPopEffect").on('click', function() {
setTimeout(hideModal, 800);
});
使用队列。
它将您给定的函数添加到要在当前匹配的元素上执行的函数队列,然后在队列中为匹配的元素执行下一个函数,该函数当前是这个。
更多详情here。
$(".add2cartPopEffect").on('click', function() {
$(this).delay(800).queue(function() {
hideModal();
$(this).dequeue();
});
});
答案 1 :(得分:0)
就像汉姆斯所说的那样,使用setTimeout
就像这样:
$(".add2cartPopEffect").on('click', function() {
setTimeout(hideModal, 500);
});