3秒后...提示提示不显示。我究竟做错了什么?jQuery延迟三秒后不工作
$(function() {
$("#test").live("click",function() {
$("#test2").delay(3000, function({
alert('Hello!');
}));
});
});
3秒后...提示提示不显示。我究竟做错了什么?jQuery延迟三秒后不工作
$(function() {
$("#test").live("click",function() {
$("#test2").delay(3000, function({
alert('Hello!');
}));
});
});
.delay()
不接受回调。使用setTimeout
。
$(function() {
$("#test").live("click",function() {
setTimeout(function() { alert('Hello!'); }, 3000);
});
});
我可以告诉你你怎么可以技术上使其与.delay()
工作,但鉴于您的例子,它只是是不恰当的。
我相信jQuery延迟是用来延迟下一个链接函数调用。您应该使用setTimeout代替
$("#test").live("click",function() {
setTimeout(function(){
alert('Hello!');
}, 3000);
});
.delay()
只适用于使用动画队列像fadeIn()
jQuery效果的方法,等等。而且,.delay()
不接受回调。
你将不得不使用setTimeout()
这样的:
$(function() {
$("#test").live("click",function() {
setTimeout(function() {
alert('Hello!');
}, 3000);
});
});
这种例子并不记载,delay()
接受这种形式的参数。
$(function() {
$("#test").live("click", function() {
setTimeout(function() {
alert('Hello!');
}, 3000);
});
});
事实上,delay()
文档中,有大胆声明;
.delay()方法最适合延迟排队的jQuery效果。因为它是有限的 - 例如,它不提供取消延迟的方法.delay()不是JavaScript本地setTimeout函数的替代品,这对于某些用例可能更合适。
+1包含文档链接和最相关的部分。 – RightSaidFred
我讨厌这样说,但RTFD,你会看到'.delay()'根本没有这样的工作:http://api.jquery.com/delay –
@weka:即使你使用'.delay()'是正确的,你的语法被破坏了。这部分无效:'function({alert('Hello!');})' – RightSaidFred