Привет, ребята,
То, что я пытаюсь сделать, это отобразить анимированный GIF, пока кто-то печатает текст в текстовое поле с помощью keyup, и после завершения ввода 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' есть анимированный GIF, назначенный в качестве фонового изображения, а у класса 'dn' просто css 'display: none'.
Первоначально в «gallery_saving» также есть класс «dn» - так что он не виден, когда кто-то начинает набирать, класс «dn» удаляется - показывая загрузчик.
Вы, очевидно, видите проблему уже с:
$.delay(500).li.children('.gallery_saving').delay(500).html('Saved...').delay(500).addClass('dn');
и я знаю, что это неправильно, но не могу понять, как это сделать - кто-нибудь может помочь?