Evento jQuery: elemento visible

Posible duplicado:
jQuery evento para desencadenar acción cuando un div se hace visible

¿Cómo puedo ejecutar algo de mi código cuando el elemento, que fue cargado por ajax, se hace visible (“pantalla” está cambiando de “ninguno” a “bloque”)? Bueno, necesito algún evento como

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

O un evento que busca eliminar / agregar alguna clase al elemento

El problema fue resuelto usando el plugin jquery-appear

https://github.com/morr/jquery.appear

No hay nada integrado en jQuery que te permita lograr eso. Puede echarle un vistazo al plugin livequery . Por ejemplo:

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

Cuando un elemento con id = “elemento” se agrega al DOM, se debe ejecutar la callback.

Ejecuta un cheque cada 1 segundo. Si el elemento #element existe y está visible, borre (detenga) el intervalo y ejecute su código.

 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); 

Inevitablemente tiene alguna callback al evento jQuery que muestra el elemento; en esas devoluciones de eventos, debe colocar su código de ejecución ‘cuando el elemento esté visible’.

¿Has probado jQuery.load() ?

http://api.jquery.com/load-event/

Debería funcionar al menos para imágenes, tags de guiones, etc … no para elementos que no tienen una URL, sin embargo.

De lo contrario, livequery debería ser de ayuda:

jquery evento en vivo para agregar elementos dom