Foros del Web » Programando para Internet » Jquery »

Problema con children() en jQuery. No me funciona y no se cómo hacerlo.

Estas en el tema de Problema con children() en jQuery. No me funciona y no se cómo hacerlo. en el foro de Jquery en Foros del Web. Hola, resulta que tengo el siguiente código para un movimiento de un DIV. La estructura del DIV es <div> <a> <img> <div id="texto"></div> </a> </div> ...
  #1 (permalink)  
Antiguo 21/11/2012, 15:57
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 20 años
Puntos: 2
Problema con children() en jQuery. No me funciona y no se cómo hacerlo.

Hola, resulta que tengo el siguiente código para un movimiento de un DIV.

La estructura del DIV es
<div>
<a>
<img>
<div id="texto"></div>
</a>
</div>

Donde el primer div tiene position relative y los otros elementos absolute con la imagen de fondo y el div id texto sobre él.

El tema es que tengo un jQuery para mover el ID texto cuando pongo el mouse sobre la caja principal, pero lo que me pasa es que tengo el selector puesto para varios DIV's y resulta que cuando pongo el mouse en UN div, se me mueven los de todos los demás...algo está mal, pero ni idea que será!!

Alguna ayuda??

El código es:

Código:
$('#misa-diaria, #caja-videos').each(function() {
         $(this).hover(
         function() {
         $('a').children('#texto').stop().animate({ 'padding-bottom' : 200 }, 100);
         },
         function() {
         $('a').children('#texto').stop().animate({ 'padding-bottom' : 10 }, 100);
         })
         });
Si ves, cuando pongo el mouse sobre #misa-diaria se me cambia el padding del texto de misa diaria y de caja-videos, y es justamente lo que no quiero!!. Y si le agrego un (this) antes de ('a') no funciona.

Gracias
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #2 (permalink)  
Antiguo 22/11/2012, 10:04
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: Problema con children() en jQuery. No me funciona y no se cómo hacerlo.

Hola todoalbo, que tal.

Según lo que mencionas, has tener un mismo id repetido mas de una vez, en este caso id="texto". El id no se debe repetir en una pagina, debe ser único.

Prueba con clases, de la siguiente manera.


Código Javascript:
Ver original
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>@GBreagan</title>
  6. <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
  7. <script>
  8. $(document).on('ready', function() {
  9.     $('body').find('.caja').each(function(){
  10.         $(this).hover(function() {
  11.             $(this).find('a').children('.texto').stop().animate({ 'padding-bottom' : 200 }, 100);
  12.         },
  13.         function() {
  14.             $(this).find('a').children('.texto').stop().animate({ 'padding-bottom' : 10 }, 100);
  15.         });
  16.     });
  17. });
  18. </script>
  19. <style>
  20. .caja {background:#FAE078;width:200px}
  21. .texto {background:#EEEEEE}
  22. </style>
  23. </head>
  24.  
  25. <body>
  26. <div class="caja">
  27.     <a>
  28.         <img src="http://static.forosdelweb.com/customavatars/avatar452499_3.gif" height="50" width="50">
  29.         <div class="texto">Este un texto</div>
  30.     </a>
  31. </div>
  32. <div class="caja">
  33.     <a>
  34.         <img src="http://static.forosdelweb.com/customavatars/avatar452499_3.gif" height="50" width="50">
  35.         <div class="texto">Este un texto</div>
  36.     </a>
  37. </div>
  38. </body>
  39. </html>

Aunque en realidad no se mueve el texto (solo se incremente el padding de la caja que lo contiene). El problema de los selectores esta solucionado.

Saludos y coméntanos.
  #3 (permalink)  
Antiguo 22/11/2012, 12:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 20 años
Puntos: 2
Respuesta: Problema con children() en jQuery. No me funciona y no se cómo hacerlo.

Excelente, ahi funciona perfecto.

Muchas gracias!!
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"

Etiquetas: children, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:20.