Ну например, можно использовать селектор
:animated, он получает элементы, которые находятся в процессе анимации, и воспользоваться методом
is для блока.
Пример на jsfiddle
Сам код:
$('#close_button').click(function() {
var $block = $('#block');
// Если блок анимируется, не выполняем обработку события
if($block.is(':animated')) {
return;
}
// Красим блок случайным цветом, чтобы продемонстрировать однократный вызов события
$block.css('background-color', "#"+((1<<24)*Math.random()|0).toString(16));
// Прячем блок
$block.hide(5000);
})