Прерывание delay()
$('#div').fadeIn('fast').delay(5000).fadeOut('fast') Этот код показывает какой-то див, и через 5 сек скрывает его. как остановить delay() ? Делаю примерно так: $('#div').stop(true, true).fadeOut('fast').fadeIn('fast') Но всt все равно считает, и исчезает |
1) вместо delay можно использовать setTimeout для задержки
и clearTimeout для прерывания ожидания что то вроде var waiter; // fadeIn отработает и вызовет безымянную функцию $('#div').fadeIn('fast', function(){ // создаём таймер и запоминаем ссылку на него waiter=setTimeout(function(){ // когда таймер отработает будут запущен fadeOut $('#div').fadeOut('fast'); },5000); }) // пример остановки таймера // щелчок по killer унечтожит таймер и обьект не исчезнет $('#killer').click(function(){ clearTimeout(waiter); }); 2) для delay попробуй ещё связку из двух методов. $("#div").clearQueue(); // унечтожаем очередь $("#div").stop(); // останавливаем текущую анимацию |
Часовой пояс GMT +3, время: 03:36. |