Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2015, 12:48
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años
Puntos: 5
Mostrar y ocultar tooltip con javascript

Hola amigos/as, veran tengo un profesor que me ha puesto un ejercicio de javascript, pero el enunciado para mi es mas dificil de entender que resolver el ejercicio en si.

Yo lo he interpretado como creo que es correcto pero aunque mi solucion funciona no se si es lo que pide el ejercicio en verdad:

el enunciado dice asi:

"Implementar una función (usad dwec_tooltip.css si lo veis conveniente)
que dote de tooltip a cualquier elemento HTML, el mensaje a mostrar debe ser obtenido del
atributo title (por defecto, se valorará que sea parametrizable) del elemento HTML. La
función se llamara dwec_tooltip y podrá recibir como parámetro bien o una cadena con el id
del elemento en cuestión al que hacerle el tooltip o bién el nodo DOM donde aplicar el
mismo; como segundo parámetro opcional puede recibir un objeto javascript ({}) con
opciones de configuración (ejemplo: atributo de donde obtener el texto a mostrar → {texto:
'title'}). Añade la opción de retraso para que el tooltip se muestre pasado el número de
milisegundos indicados en esa opción (usad para esto las funciones window.setTimeout y
window.clearTimeout)"


Bien, yo lo he interpretado asi:

Código CSS:
Ver original
  1. .tooltip{
  2.        
  3.                 display:none;
  4.        
  5.                 width:120px;
  6.                 height: 30px;
  7.                 color: #FFFFFF;
  8.                 background: #000000;
  9.        
  10.                 line-height: 20px;
  11.                 text-align: center;
  12.                 border-radius: 6px;
  13.                 font-size:12px;
  14.  
  15.                 margin-top: 10px;        
  16.                 margin-left: 0px;
  17.                 border-top: 8px solid #000000;
  18.                
  19.                 opacity: 1;
  20.        
  21.             }


Código Javascript:
Ver original
  1. function dwec_tooltip_show (id) {
  2.            
  3.                 setTimeout(function() {
  4.              
  5.                     id.style.display="block";
  6.                
  7.                 }, 300);               
  8.             }
  9.            
  10.            
  11.            
  12.             function dwec_tooltip_hide (id) {
  13.  
  14.                 setTimeout(function() {
  15.                                  
  16.                     id.style.display="";
  17.                    
  18.                 }, 300);                     
  19.             }


Código HTML:
Ver original
  1. <input name="" type="text" placeholder="Apartado" onmouseover="dwec_tooltip_show(tooltip)" onmouseout="dwec_tooltip_hide(tooltip)">
  2.            
  3.             <div class="tooltip" id="tooltip">Contenido bocadillo</div>



Lo hecho funciona bien, pero creo que el enunciado dice que en el input deberia tener un "title", pero claro si pongo un title ahi no me haria falta ninguna funcion que me haga visible el tooltip, ya que la etiqueta "title" ya se encarga de eso.

y tampoco sabria como interactuar con javascritp con setTimeout con la etiqueta "title".

y mucho menos dar estilos css a "title".

y tampoco sabria como pasar el contenido de "title" como parametro a la funcion dwec.tooltip_show.

Si me puedieran ayudar les estaria muy agradecido.

Un saludo.