gpt4 book ai didi

javascript setTimeout 或 jquery delay - 两者都不适合我

转载 作者:数据小太阳 更新时间:2023-10-29 04:55:45 24 4
gpt4 key购买 nike

我有一个像这样的div

<div id="sale">
........
</div>

我尝试同时使用两者

$('#sale').delay(3000).slideDown(500);

setTimeout(sale(), 3000);

function sale() {
$('#sale').slideDown(500);
}

但他们都没有工作。 jQuery 延迟表示 $('#sale').delay() 不是函数,而 setTimeout 方式表示无用的 setTimeout 调用(丢失引号)。如果我在 sale() 调用周围添加双引号,它只会显示“Sale is not defined”。

为什么这两个都不行?

我想要做的就是让一个 div 在页面加载后 3 秒出现。

最佳答案

setTimeout 的情况下,你只是做错了。

setTimeout(sale(), 3000); // will call sale and use the RETURN value in the callback but sale returns undefined

需要传入一个函数:

function sale() {
$('#sale').slideDown(500);
}

setTimeout(sale, 3000); // just pass in the reference to sale()

其他可能性:

// no difference in this case
// Note: if it were obj.sale() then you would need to do this version
// otherwise sale() will get called with the this set to window
setTimeout(function(){sale()}, 3000)

最后但同样重要的是:

setTimeout(function() { $('#sale').slideDown(500); }, 3000);

关于javascript setTimeout 或 jquery delay - 两者都不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4262727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com