Comunidad de diseño web y desarrollo en internet online

Que solo funcione en un post el Jquery no en todas las clases

Citar            
MensajeEscrito el 22 Nov 2011 08:39 pm
Estoy desarrollando en Jquery un efecto con el mouse cuando pase por encima en diferentes post, pero la acción se realiza en todos los post no solo en el que esta el mouse.
Porfavor como se puede realizar?

$(".abajo");.mouseenter(function(e){
$(".encima");.fadeIn(250)
});


$(".abajo");.mouseleave(function(e){
$(".encima");.fadeOut(250)
});

y en el body:

<div class="encima">
<a href="">titulo del post</a>
</div>
<div class="abajo">
<img src="images1" />
</div>

<div class="encima">
<a href="">titulo del post2</a>
</div>
<div class="abajo">
<img src="images2" />
</div>

Por luiscleverboy

6 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 22 Nov 2011 11:44 pm
Tu problema es que estas usando clases y al hacer una animacion en jquery con un selector class como $('.encima') afectas a todos los elementos que tengan esa clase, por ejemplo puedes hacer esto:

$(".encima").mouseenter(function(e){
$(this).fadeIn(250)
});

$(".encima").mouseleave(function(e){
$(this).fadeOut(250)
});

De esta manera creas el listener en todos los objetos con la clase .encima, pero la animación sólo afecta al que está debajo del ratón pues le seleccionamos a el con $(this).

Tambien debes quitar todos los ; que tienes detrás de los selectores.

Un saludo.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

chrome
Citar            
MensajeEscrito el 23 Nov 2011 12:24 am

Abducted escribió:

Tu problema es que estas usando clases y al hacer una animacion en jquery con un selector class como $('.encima') afectas a todos los elementos que tengan esa clase, por ejemplo puedes hacer esto:

$(".encima").mouseenter(function(e){
$(this).fadeIn(250)
});

$(".encima").mouseleave(function(e){
$(this).fadeOut(250)
});

De esta manera creas el listener en todos los objetos con la clase .encima, pero la animación sólo afecta al que está debajo del ratón pues le seleccionamos a el con $(this).

Tambien debes quitar todos los ; que tienes detrás de los selectores.

Un saludo.


Compadre muchas gracias, entiendo lo que dices, pero lo que quiero es, que el mause entre en un div y realize la opcion en otro div por eso entra a abajo, y luego quiere realizar la accion en encima.
Y lo hace pero en todas las clases no solo en 1

Por luiscleverboy

6 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 23 Nov 2011 10:08 am
Entonces prueba así:

Código Javascript :

$(document).ready(function () {
   $(".abajo").mouseenter(function(e){
      overOut($(this), 1);
   });

   $(".abajo").mouseleave(function(e){
      overOut($(this), 2);
   });
   
   function overOut (objeto, modo) {
      var posicion = objeto.index();
      var posicionB = posicion++;
      var objetivo = 'div:eq('+posicionB+')';
      if (modo==1) {
         $(objetivo).fadeIn(250).dequeue();
      } else if (modo==2) {
         $(objetivo).fadeOut(250).dequeue();
      }
   }
});

Pero mi consejo es que modifiques el html y crees divs contenedores, después puedes hacer la selección mejor con $(objeto).siblings

Código HTML :

<div class="contenedor">
   <div class="encima">
      <a href="">titulo del post</a>
   </div>
   <div class="abajo">
      <img src="imagen.jpg" />
   </div>
</div>

<div class="contenedor">
   <div class="encima">
      <a href="">titulo del post2</a>
   </div>
   <div class="abajo">
      <img src="imagen.jpg" />
   </div>
</div> 

Código Javascript :

$(document).ready(function () {
   $(".abajo").mouseenter(function(e){
      overOut($(this), 1);
   });

   $(".abajo").mouseleave(function(e){
      overOut($(this), 2);
   });
   
   function overOut (objeto, modo) {
      var objetivo = $(objeto).siblings('div');
      if (modo==1) {
         objetivo.fadeIn(250).dequeue();
      } else if (modo==2) {
         objetivo.fadeOut(250).dequeue();
      }
   }
});


Un saludo.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

firefox

 

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