我有这样的div
<div id="sale"> ........ </div>@H_502_4@我试着用这两个
$('#sale').delay(3000).slideDown(500);@H_502_4@和
setTimeout(sale(),3000); function sale() { $('#sale').slideDown(500); }@H_502_4@但他们都没有工作. jQuery延迟表示$(‘#sale’).delay()不是函数,而setTimeout方式表示无用的setTimeout调用(缺少引号).如果我在sale()调用周围添加双引号,它只是说“销售没有定义”. @H_502_4@为什么这些都不起作用? @H_502_4@我要做的就是在加载页面3秒后显示div.
解决方法
在setTimeout的情况下,你只是做错了.
setTimeout(sale(),3000); // will call sale and use the RETURN value in the callback but sale returns undefined@H_502_4@你需要传递一个函数:
function sale() { $('#sale').slideDown(500); } setTimeout(sale,3000); // just pass in the reference to sale()@H_502_4@其他可能性:
// 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)@H_502_4@最后但并非最不重要:
setTimeout(function() { $('#sale').slideDown(500); },3000);