Comunidad de diseño web y desarrollo en internet online

Jquery dinamico para varios parrafos (p)

Citar            
MensajeEscrito el 22 Ene 2013 01:40 pm
Hola os cuento. Quiero que al dejar el ratón encima de cada "li" el párrafo "Ver" aumente su marginTop para darle un efecto en el que el párrafo baje. El parrafo tiene un position: absolute con marginTop:-10px; para que no aparezca hasta que no pongas el ratón sobre la imagen que contiene el "li".

Pero me baja todos los parrafos a la vez. Y lo que quiero es que lo haga individualmente.

Os dejo los códigos.

Código Javascript :

$('#contain ul li').bind('mouseover', function()   {
      $('#contain ul li p').animate({marginTop:32+'px'},500);
  
   });


Código HTML :

<ul>
 <li>
   <p>Ver</p>
   <img src="prueba.png" />
</li>
<li>
   <p>Ver</p>
   <img src="prueba.png" />
</li>
<li>
   <p>Ver</p>
   <img src="prueba.png" />
</li>
</ul>

Por lusifer

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Ene 2013 01:50 pm
Podrías hacerlo con CSS, con :hover y transform.

Por Alivan

288 de clabLevel

3 tutoriales

Genero:Masculino  

Aprendo de Internet

chrome
Citar            
MensajeEscrito el 22 Ene 2013 02:08 pm
si, esa solución la he barajado, pero me gustaría hacerlo con jquery por temas de compatibilidad con IE.

Por lusifer

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Ene 2013 03:21 pm
alguien se le ocurre alguna otra forma?

Por lusifer

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Ene 2013 04:23 pm

Código Javascript :

$('#contain ul li').bind('mouseover', function()   {
      $(this).find('p').animate({marginTop:32+'px'},500);
  
   });

"this" referencia el elemento que provoca el evento. Como se refiere a un <li> que es un elemento contenedor, se busca todos los elementos <p> dentro del <li> que provocó el evento y se les aplica la animación.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Ene 2013 09:23 pm
DriverOp tiene razón. Si no referencias el objeto al que quieres aplicar la transformación te la aplicará a todos. De hecho es lo que estás haciendo tú. Diciéndole que te mueva TODOS los párrafos.
Yo lo pondría con 'on' en vez de 'bind', eso sí, que es la forma correcta actualmente en jQuery

$('#contain ul li').on('mouseover', function() {
$(this).find('p').animate({marginTop:32+'px'},500);
});

Por malcomcc

39 de clabLevel



Genero:Masculino  

Desarrollador Web/Multiplataforma/Gráfico

firefox
Citar            
MensajeEscrito el 30 Ene 2013 12:49 pm
Muchas gracias, lo pruebo y os cuento.

Por lusifer

43 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Abr 2013 01:56 pm
Gracias, solucionado!!

Por lusifer

43 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.