Подтвердить что ты не робот

Событие jQuery - элемент становится видимым

Возможный дубликат:
Событие jQuery для запуска действия, когда div становится видимым

Как я могу запустить некоторый мой код, когда элемент, который был загружен ajax, стал видимым ( "display" переключается с "none" на "block" )? Ну, мне нужно какое-то событие вроде

$('#element').live('show', function(){
// CODE
});

Или событие, которое следит за удалением/добавлением некоторого класса в элемент

4b9b3361

Ответ 2

Там нет встроенного jQuery, который позволяет вам это достичь. Вы можете посмотреть плагин livequery. Например:

$('#element').livequery(function() {
    // CODE
});

Когда элемент с id = "element" добавлен в DOM, должен быть выполнен обратный вызов.

Ответ 3

Выполнить проверку каждые 1 секунду. Если #element существует и отображается, тогда очистите (остановите) интервал и выполните свой код.

var checkVisible = setInterval(function(){

    // if element doesn't exist or isn't visible then end
    if(!$('#element').length || !$('#element').is(':visible'))
        return;

    // if element does exist and is visible then stop the interval and run code

    clearInterval(checkVisible);

    // place your code here to run when the element becomes visible

},1000);

Неизбежно у вас есть обратный вызов события jQuery, который показывает элемент; в этих обратных вызовах событий вы должны поместить ваш код "когда элемент виден".