2009-11-20 3 views
2

Итак, у меня есть класс вкладок, который прокручивается, который отлично работает, но теперь я хочу скрыть элементы управления, если они не могут прокручиваться в том направлении, в котором они пытаются идти. поэтому у меня есть что-то вроде этого;jquery animation done

function tab_left(){ 
    $(".tab_link").each(function(){ 
    //animation here 
    }); 
} 

Тогда я хочу, чтобы создать функцию, которая будет убедиться, что ни один из них не анимированы (потому что, если они есть позиция не будет правильно). Затем он зафиксирует изображение либо на дисплее, либо нет. Проблема, с которой я сталкиваюсь, заключается в проверке того, что ни один из них не анимируется. Любая помощь приветствуется.

ответ

8

Чтобы проверить, если элемент анимируемого вы можете сделать это:

if($("#the-great-div").is(":animated")){ 
    alert("Yay!"); 
} 

Или, если вы хотите, вы можете установить функцию обратного вызова, которая вызывается при анимации сделано: http://docs.jquery.com/Effects/animate

var finished = 0; 
var callback = function(){ 
    // Do whatever you want. 
    finished++; 
} 
$("#div").animate(params, duration, null, callback); 

Этот параметр обратного вызова обычно доступен во всех функциях анимации, а не только для анимации. Наконец, если вы хотите отслеживать, сколько объектов было закончено, глобальная переменная должна делать это (например, finished).

+0

Я знаю, как проверить, анимирован ли элемент, но если его анимированный я хочу, чтобы он продолжал проверять, пока элемент не анимируется, чтобы запустить функцию, которая проверяет ее позицию, или просто запустить функцию после завершения анимации быть лучшим решением. – ngreenwood6