Foros del Web » Programando para Internet » Jquery »

problema hover - jquery

Estas en el tema de problema hover - jquery en el foro de Jquery en Foros del Web. Hola soy nuevo en el foro, queria ver si me pueden ayudar, el problema que al pasar el mouse varias veces seguidas , al salir ...
  #1 (permalink)  
Antiguo 13/01/2013, 16:21
 
Fecha de Ingreso: enero-2013
Mensajes: 3
Antigüedad: 11 años, 3 meses
Puntos: 0
Pregunta problema hover - jquery

Hola soy nuevo en el foro, queria ver si me pueden ayudar, el problema que al pasar el mouse varias veces seguidas , al salir me sigue repitiendo la animacion , como hago que respete si estoy over u out, al hacer out corte y no repita,
y por otro lado como hago para al hacer over que la animacion expanda o se agrande en proporcion a los 4 lados, no hacia la izquierda.

les dejo el html gracias por su ayuda.


<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

var x=$(document);
x.ready(inicializar);

function inicializar(){
var x=$("#objetivo");
x.hover(entraRaton,saleRaton);

}

function entraRaton(){
$(this).animate({width:300,height:300},500);

}

function saleRaton(){
$(this).animate({width:250,height:250},500);

}
</script>
</head>

<body>

<div id="objetivo" style="background:#0C6; width:250px; height:250px; margin-top:100px; margin-left:100px">yo soy un div</div>

</body>
</html>

Última edición por gmur05; 13/01/2013 a las 16:42
  #2 (permalink)  
Antiguo 14/01/2013, 10:12
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 3 meses
Puntos: 57
Información Respuesta: problema hover - jquery

Hola gmur05, que tal. Bienvenido a Foros del Web

Prueba usando el método .stop() de jQuery

Agrégalo antes del método .animate() en ambas funciones. De la siguiente manera:

Código Javascript:
Ver original
  1. $(this).stop().animate(...);

Modifiqué tu código inicial de una manera mas adecuada utilizando el método .on() disponible desde la versión 1.7+ de jQuery. Como también el uso de los métodos: .mouseenter() y .mouseleave() para los respectivos eventos de mouse.

Código Javascript:
Ver original
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Documento sin título</title>
  6. <script src="http://code.jquery.com/jquery.min.js"></script>
  7. <script type="text/javascript">
  8. var $inicializar = function() {
  9.     $('#objetivo').on({
  10.         mouseenter : function() { //entraRaton
  11.             $(this).stop().animate({width:300,height:300},500)
  12.         },
  13.         mouseleave : function() { //saleRaton
  14.             $(this).stop().animate({width:250,height:250},500)
  15.         }
  16.     });
  17. };
  18. $($inicializar); //equivale a $(document).ready()
  19. </script>
  20. </head>
  21. <body>
  22. <div id="objetivo" style="background:#0C6; width:250px; height:250px; margin-top:100px; margin-left:100px">yo soy un div</div>
  23. </body>
  24. </html>

Coméntanos tus dudas.

Etiquetas: javascript
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 00:34.