2012-05-07 1 views
2

У меня есть следующий код (подобный этому):В пользовательском интерфейсе jQuery, как предотвратить «пульсирующий» эффект для запуска миллионов раз при вызове последовательно?

$(Auditorium.CometService).on('bid.new', function(event, data){ 
    $('#feedback').text(data.msg).show('pulsate', { 
     speed: 250 
    }); 
}); 

Проблема заключается в том, что для каждого «bid.new» события, #feedback пульсирует раз X (по умолчанию 5), а иногда есть 5 предложений в 2 секунды, поэтому он приостанавливает анимацию и пульсирует 25 раз. Мне нужно забыть о очереди анимаций. Если многие события bid.new увольняются через секунду, они должны быть анимированы только один раз (пульсирует только 5 раз). Как я могу это достичь?

ответ

4

Использование метода stop.

$(Auditorium.CometService).on('bid.new', function(event, data){ 
    $('#feedback').text(data.msg).stop(true).show('pulsate', { 
     speed: 250 
    }); 
}); 

Обновление: Добавлен параметр для метода остановки(), что делает его удаление из очереди анимации для элемента (и, таким образом, вести себя в соответствии с просьбой вопросом) true.