Foros del Web » Programando para Internet » Jquery »

problema combinando .click con .mouseover

Estas en el tema de problema combinando .click con .mouseover en el foro de Jquery en Foros del Web. Hola, tengo un codigo que no entiendo por que falla, pienso que la sintaxis esta bien pero no me acaba de funcionar. Código HTML: <!DOCTYPE ...
  #1 (permalink)  
Antiguo 07/05/2015, 12:59
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 2 meses
Puntos: 5
problema combinando .click con .mouseover

Hola, tengo un codigo que no entiendo por que falla, pienso que la sintaxis esta bien pero no me acaba de funcionar.



Código HTML:
<!DOCTYPE HTML>
<html lang="en-US">
<head>

      <meta charset="UTF-8">
      
      <script type="text/javascript"  src="../../js/jqueryG.js">
    </script>

   <script type="text/javascript">
        $(document).ready(
                
                                function asignarAelementos()
                                            {
                                                $('#E').click(
                                                                        function acordeE()
                                                                                {
                                                                                    $('#sexta').mouseover
                                                                                                    (    
                                                                                                        function s6E()
                                                                                                            {
//                                                                                                                $(this).css('background','url(img/string2.jpg)');
                                                                                                                      
                                                                                                            }
                                                                                                     )
                                                                                     $('#sexta').mouseout
                                                                                                    (
                                                                                                        function s6no()
                                                                                                            {
                                                                                                                
                                                                                                            }
                                                                                                     )
                                                                                             
                                                                                        
                                                                                }
                                                        
                                                                   )  
                                                 $('#F').click(
                                                                        function acordeF()
                                                                                {
                                                                                            alert('xxosoeperico');
                                                                                }
                                                        
                                                                   )  
                                                  $('#G').click(
                                                                        function acordeG()
                                                                                {
//                                                                                    $(this).attr('value','');
                                                                                        $(this).val('');
                                                                                }
                                                        
                                                                   )  
                                                
                                                  
                                            }
                            )
    </script> 

 <link rel="stylesheet" type="text/css" href="css/guitarra.css" />
    <title>GUITARRA</title>
</head>
<body>
  
        <form action="" method="post">
            <input type="submit"  id="E" value="E"/>
            <input type="submit"  id="F" value="F"/>
            <input type="submit"  id="G" value="G"/>
<!--            <input type="submit" value="enviar" />-->
        </form>
    <div style="clear:both"></div>
    <div id="tablatura">
        <div class="espacio" ></div>
        <div class="cuerda" id="sexta"></div>
        <div class="espacio"></div>
        <div class="cuerda" id="quinta"></div> 
        <div class="espacio"></div>
        <div class="cuerda" id="cuarta"></div>
        <div class="espacio"></div>
        <div class="cuerda" id="tercera"></div>
        <div class="espacio"></div>
        <div class="cuerda" id="segunda"> </div>
        <div class="espacio"></div>
        <div class="cuerda" id="primera"></div>
        <div class="espacio"></div>
   
    </div>

   
</body>
</html> 
El codigo en si es sencillo, lo que pasa es que la estructura principal se repite, la idea es que el codigo empiece a funcionar unica y exclusivamente cuando pulses un boton, una vez pulsado el boton, al pasar el raton por un div que contiene una imagen(esta definida como fondo en los estilos, una imagen por div), esta debe cambiar y solo mantenerse cuando el raton este sobre ella.

Una combinacion de .click con .mouseover y .mouseout, he probado que esta funcionando javscript por que he hecho un codigo mas simple con un alert y ha funcionado, pero en este caso pulso el boton y al mover el raton la imagen no cambia.

¿Que puede estar fallandome?
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #2 (permalink)  
Antiguo 07/05/2015, 13:36
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: problema combinando .click con .mouseover

Puedes combinar de esta manera:

Código Javascript:
Ver original
  1. $("#id").on("click mouseover mouseout", function(){
  2.   alert("Se ha echo click o el mouse se puso encima o el mouse se fue");
  3. });

O si quieres algo mas obtimizado y limpio:

Código Javascript:
Ver original
  1. var Eventos = {
  2.   click: function(){
  3.     alert("Se ha echo click");
  4.   },
  5.   mouseover: function(){
  6.     alert("El mouse se puso encima");
  7.   },
  8.   mouseout: function(){
  9.     alert("El mouse se fue");
  10.   }
  11. };
  12. $("#id").on(Eventos);

Un Saludo.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #3 (permalink)  
Antiguo 07/05/2015, 15:31
Avatar de neoarcangel  
Fecha de Ingreso: enero-2005
Ubicación: España
Mensajes: 566
Antigüedad: 19 años, 2 meses
Puntos: 5
Respuesta: problema combinando .click con .mouseover

No, no es exactamente lo que busco.

Lo que busco es lo siguiente

3 botones, cada boton tiene determinadas notas que no pueden sonar a la vez, por lo que cuando le des a un boton, lo que haces es activar las notas de ese boton, pero las notas no sonaran hasta que pases el raton por encima de la nota.

Es decir cuando tu hagas un click a un boton, simplemente estas activando la posibilidad de hacer un mouseover y un mouseout, pero no tiene que funcionar automaticamente solo cuando pases el raton por encima de la nota que seria una imagen en un div.

Pienso que mi fallo tiene que ver con la encadenacion de eventos, pienso que por eso me falla,

Simplificando bastante lo esencial quedaria asi
Código HTML:
      function asignarAelementos()
                        {
                             $('#E').click
                                        (
                                      function acordeE()
                                                 {
                                            $('#sexta').mouseover
                                                           (
                                                     function s6E()
                                                                 {
                                                                   //NO FUNCIONA AQUI                                                        $('#sexta').css('background','url(img/string2.jpg)');
                                                                 alert('DEBERIA MOSTRAR ESTO');
                                                                   }
                                            
                                                              )
                                                     }
                                           )  
                                                  
                          }
                              )
__________________
Mi equipo

Gigabyte GA-MA770T-UD3P Socket AM3|OZC StealthxStream 600 w | Gigabyte Radeon HD 4770 512MB GDDR5| AMD Phenom II 945 X4 Quad Core 3.0Ghz| Memoria Kingston 6GB DDR3 1333
  #4 (permalink)  
Antiguo 08/05/2015, 01:04
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: problema combinando .click con .mouseover

Creo que con lo que te he mostrado puedes combinar perfectamente lo que intentas hacer, sólo es cuestión de ir adaptandolo.

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #5 (permalink)  
Antiguo 11/05/2015, 14:45
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba, Argentina
Mensajes: 74
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: problema combinando .click con .mouseover

No tengo tiempo ahora de probarlo. Y leyendo el código parece estar bien.
Lo único que noto raro es que al final de todo hay un ")" de más.

Revisa que no este sobrando porque a veces esas cosas tan simples rompen todo el código.
__________________
Mike Sto - Programador web independiente
Grupo Latin.net

JSFiddle

Etiquetas: mouseover
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 11:38.