嗨,大家好,jQuery的延遲和KEYUP
我想要做的是當有人輸入到文本字段KEYUP,一旦他們已經完成打字顯示動畫GIF,GIF將消失並顯示消息「保存」幾秒鐘,然後消失。
什麼我迄今所做的是:
if ($('.gallery_items li input').length > 0) {
$('.gallery_items li input').keyup(function() {
var li = $(this).parent();
li.children('.gallery_saving').removeClass('dn');
var identity = li.attr('id').split('_');
var v = $(this).val();
var url = '/caption/id/' + identity[1];
$.post(url, { caption : v });
$.delay(500).li.children('.gallery_saving').delay(500).html('Saved...').delay(500).addClass('dn');
return false;
});
}
凡類「gallery_saving」具有指定爲背景圖像和階級「DN」 gif動畫有簡單的樣式表「顯示:無」。 最初'gallery_saving'也有類'dn' - 以便它不可見,當有人開始鍵入類'dn'時被刪除 - 顯示加載器。
你明明看到問題已經與:
$.delay(500).li.children('.gallery_saving').delay(500).html('Saved...').delay(500).addClass('dn');
,我知道這是錯的,但無法弄清楚如何做到這一點 - 任何人都可以幫忙嗎?
你能提供HTML來處理嗎? – 2011-04-19 09:38:14
小心你對['.delay()'](http://api.jquery.com/delay/)的理解,它的確如下:_「設置一個計時器來延遲隊列中後續項目的執行」_ - 但它是爲了效果隊列,而不是一切。看看[這裏的例子](http://jsfiddle.net/xG8Hf/3/),你會看到['.show()'](http://api.jquery.com/show)沒有任何參數不是一個效果,所以不會延遲,''.css()'](http://api.jquery.com/css)效果也不會延遲,但['.slideDown( )'](http://api.jquery.com/slidedown/)是一種效果,所以它會延遲! – Scoobler 2011-04-19 11:23:54