Foros del Web » Programando para Internet » Javascript »

mostrar title al pasar el raton con un mensaje desde javascript

Estas en el tema de mostrar title al pasar el raton con un mensaje desde javascript en el foro de Javascript en Foros del Web. Hola amigos a ver si me pueden echar una mano con esto: Tengo un codigo que funciona bien el cual me muestra el contenido que ...
  #1 (permalink)  
Antiguo 21/01/2015, 13:21
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
mostrar title al pasar el raton con un mensaje desde javascript

Hola amigos a ver si me pueden echar una mano con esto:

Tengo un codigo que funciona bien el cual me muestra el contenido que tiene que llevar el "title" extraido de un javascript que he programado y lo sustituye por el contenido del title que tiene por defecto en el input.

PUes bien, el tema esta que dicho mensaje creado en javascript ,que debe aparecer. debe estar dentro de un div

y cuando paso el raton por encima entonces lo que me sale en vez de esto:

"Gracias por pinchar"

me sale esto:

"<div>Gracias por pinchar</div>"

es decir me en el mismo mensaje me salen los divs.

Com opuedo hacer para que no aparezcan los divs como parte del mensaje , para asi poderle dar estilos css?

este es el codigo:

Código HTML:
Ver original
  1. <input name="campo1" id="campitox" type="text" placeholder="hola" title="mico" />



Código Javascript:
Ver original
  1. document.getElementById("campitox").onmouseover = mostrarMensaje;
  2.            
  3.  
  4.             function mostrarMensaje() {
  5.  
  6.               var mensaje = "--<div>Gracias por pinchar</div>--";            
  7.    
  8.    
  9.               document.getElementById("campitox").title = mensaje;               
  10.             }


gracias de antemano.
  #2 (permalink)  
Antiguo 21/01/2015, 14:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

Es incorrecto lo que tratas de hacer. El atributo title solo puede contener texto, de modo que al hacer eso, pues obviamente se va a mostrar el contenido de forma literal.

Si lo que deseas es mostrar un tooltip personalizado, puedes hacerlo con CSS o también con JavaScript.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 21/01/2015, 15:14
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

claro, lo que quiero es poner un fondo al texto del title pero con javascript , no con css.

el problema esta que no se como hacerlo.

se me ocurre hacer a parte un div que seleccionando su id , se muestren ahi el mensaje que le diga el javascript.

seria posible hacer algo como lo que imagino?
  #4 (permalink)  
Antiguo 21/01/2015, 15:28
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

Si estás apurado, no te hagas más líos y busca algún plugin para hacerlo. Échale un vistazo al segundo de los enlaces que te dejé en el mensaje anterior.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 21/01/2015, 15:34
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

he visto los dos enlaces que me has puesto y son geniales.
pero no creo que a mi profesor le guste la idea de que los utilice, tu ya me entiendes.

alexis, si me dijeras al menos si es factible hacerlo como digo , ya me calentaria la cabeza yo por lo menos para programarlo, sabiendo que de la manera que imagino pudiera hacerse.
  #6 (permalink)  
Antiguo 21/01/2015, 15:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

De poder hacerlo, sí, se puede, pero en este momento estoy por salir. Si más tarde nadie te responde, intentaré ayudarte, aunque podrías avanzar buscando en internet ejemplos con las palabras "Tooltip JavaScript".

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 22/01/2015, 05:53
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

Bueno he conseguido lo que comente.

Es decir que poniendome encima de un input se haga visible un div con un mensaje dentro.

EL problema es que ahora lo que necesito es que este mismo codigo sirva para que poniendome encima de cualquier input me muestre su correspondiente comentario en el tooltip.


Este es el codigo , que como digo funciona para un solo id pero necesito que funciona para todos los inputs.

he hecho un intento para que funcione para todos los inputs , dicho codigo comentado aparece en el codigo pero "comentado"

a ver si una manita se agradeceria.

Código CSS:
Ver original
  1. background:#000000;
  2.             width:150px;   
  3.             height:30px;
  4.             color:#ff0000;
  5.             font-size:16px;
  6.            
  7.             display:none;
  8.         }


Código HTML:
Ver original
  1. <input name="nombre" id="nombre" type="text" placeholder="nombre" />
  2.  
  3.         <input name="apellido" id="apellido" type="text" placeholder="apellido" />
  4.  
  5.         <div id="tooltip"></div>


Código Javascript:
Ver original
  1. document.getElementById("nombre").onmouseover = mostrarMensaje;
  2.            
  3.             document.getElementById("nombre").onmouseout = ocultarMensaje;
  4.  
  5.             //var valores = document.querySelectorAll("#nombre #apellido").onmouseover = mostrarMensaje;
  6.        
  7.            
  8.            
  9.                     function mostrarMensaje() {
  10.  
  11.                           /*
  12.                           switch(variable=valores) {
  13.                          
  14.                             case nombre: document.write("Este es el nombre"); break;
  15.                             case apellido: document.write("Este es el apellido"); break;         
  16.                           }
  17.                           */
  18.  
  19.  
  20.        
  21.                           var mensaje = "Este es el nombre";             
  22.                    
  23.                           document.getElementById("tooltip").innerHTML = mensaje;  
  24.                          
  25.                           document.getElementById('tooltip').style.display = 'block';            
  26.                     }
  27.        
  28.        
  29.        
  30.                     function ocultarMensaje() {
  31.        
  32.                           var mensaje = "";          
  33.                    
  34.                           document.getElementById("tooltip").innerHTML = mensaje;  
  35.                          
  36.                           document.getElementById('tooltip').style.display = 'none';             
  37.                     }
  #8 (permalink)  
Antiguo 22/01/2015, 07:51
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

Podrías hacer algo así:

Código HTML:
 <input class="inputHover" name="nombre" id="nombre" data-message="Este es el nombre" type="text" placeholder="nombre" />
  <input class="inputHover" name="apellido" id="apellido" data-message="Este es el apellido" type="text" placeholder="apellido" />
  <div id="tooltip"></div>
  <script type="text/javascript"> 
        var allInputs = document.getElementsByTagName('input');

        for (var a = 0; a < allInputs.length; a++) {
          if (allInputs[a].className == 'inputHover') {
            allInputs[a].onmouseover = function() {
              var mensaje = this.getAttribute("data-message");              
        
              document.getElementById("tooltip").innerHTML = mensaje;   
              document.getElementById('tooltip').style.display = 'block';   
            }

            allInputs[a].onmouseout = function() {
              document.getElementById('tooltip').style.display = 'none';     
            }
          }
        }
  </script> 
Lo único que tenés que hacer es agregar la clase inputHover a todos los input que quieras que tengan ese comportamiento, y en data-message el mensaje que quieras que muestren.
Saludos :)

Última edición por GeekGirl; 22/01/2015 a las 07:58
  #9 (permalink)  
Antiguo 22/01/2015, 08:51
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

Simplemente fantastico!!!.

A parte de servirme perfectamente, lo he entendido, ya se hacer algo mas.

Ahora estoy metiendole estilos con css , GEEKGIRL.

y va quedando bien. pero....


como hago para que el div que contiene el mensaje "tooltip", aparezca al lado de cada "input"

cuando se le pase el raton por encima???

Por que ahora solo aparecen los mensajes del tooltip en el misma posicion.



Código CSS:
Ver original
  1. #tooltip {
  2.        
  3.         background:#000;
  4.         width:150px;
  5.         heigth:30px;   
  6.         color:#ffffff; 
  7.         border-radius:10px;
  8.     }
  #10 (permalink)  
Antiguo 22/01/2015, 14:15
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

No regalas ni un puntito de karma y hasta pedís que te hagan el CSS? Jaja, vamos, un poco de esfuerzo amigo.

Lo más simple imagino, sería hacer un div por input posicionado donde lo necesites, y mostrar u ocultar ese div de acuerdo a una clase que setees, o a algún data-attribute.

Saludos :)
  #11 (permalink)  
Antiguo 23/01/2015, 13:09
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: mostrar title al pasar el raton con un mensaje desde javascript

Querido/a Geekgirl;

Si hay algo que no me gusta es que me hagan el codigo, no soy de esa clase de gente.

Pido ayuda cuando lo necesito.

de hecho nada mas empezar este hilo puse el codigo que tenia hecho.


Entrando en el problema final del final de este hilo, la solucion que he encontrado mas optima,

la pongo aqui por si a alguien le interesa.

al magnifico codigo que has programado tu se le podria implementar este otro para que el div

donde se muestran los contenidos de cada tooltip se muestren justo donde se precisa al lado de cada input etc.


Se precisa el archivo con la version adecuada de jquery, claro.

Código Javascript:
Ver original
  1. $(document).bind('mousemove', function(e){
  2.         $('#tooltip').css({
  3.            left:  e.pageX + 20,
  4.            top:   e.pageY + 20
  5.         });
  6.     });


esto hace que sea perfecto.

ojala le serva a la comunidad.

Un saludo a todos y en especial a GEEKGRIL por haberme ayudado.

Etiquetas: funcion, input, mensaje, raton, title
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 02:24.