3秒后......警报提示未显示。我做错了什么?
$(function() {
$("#test").live("click",function() {
$("#test2").delay(3000, function({
alert('Hello!');
}) );
});
});
答案 0 :(得分:5)
.delay()
不接受回调。使用setTimeout
。
$(function() {
$("#test").live("click",function() {
setTimeout(function() { alert('Hello!'); }, 3000);
});
});
我可以告诉你如何技术上使其与.delay()
一起使用,但是举个例子,它就不合适了。
答案 1 :(得分:2)
无法记录delay()
接受该表单中的参数。
$(function() {
$("#test").live("click", function() {
setTimeout(function() {
alert('Hello!');
}, 3000);
});
});
确实delay()
文档有粗体语句;
.delay()方法最适合延迟排队的jQuery效果。因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例。 < / p>
答案 2 :(得分:0)
我相信jQuery延迟用于延迟下一个链式函数调用。您应该使用setTimeout代替
$("#test").live("click",function() {
setTimeout(function(){
alert('Hello!');
}, 3000);
});
答案 3 :(得分:0)
.delay()
仅适用于使用fadeIn()
等动画队列的jQuery效果方法......而.delay()
不接受回调。
你必须像这样使用setTimeout()
:
$(function() {
$("#test").live("click",function() {
setTimeout(function() {
alert('Hello!');
}, 3000);
});
});