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