jQuery Tooltip

jQuery Tooltip es una librería javascript que extiende las propiedades de jQuery y la cual nos permite agregar un tooltip a nuestra páginas web, esto con la posibilidad de personalizar el tooltip mediante CSS.

Para usar la librería primero debes descargar jquery.js y jquery.tooltip.js. Luego de ello lo siguiente es adjuntar estos archivos a nuestra página html.

  1. <script src="jquery.js" type="text/javascript"></script>
  2. <script src="jquery.tooltip.js" type="text/javascript"></script>

El siguiente paso es crear la hoja de estilos para el tooltip, esto lo hacemos de acuerdo al esquema de colores de nuestra web. Para ello debemos crear tres estilos #tooltip que define las propiedades de la caja del tooltip, #tooltip h3 que define el titulo del tooltip y #tooltip p que define el contenido del tooltip.

[css]
#tooltip {
background-color: #CCCCCC;
border: 1px solid #888888;
color: #333333;
padding: 4px;
-moz-border-radius-bottomleft: 7px;
-moz-border-radius-bottomright: 7px;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 7px;
}
#tooltip h3 {
font-size: 1.1em;
margin: 0;
padding: 0 3px;
text-align: left !important;
}
#tooltip p {
font-size: 0.95em;
margin: 5px 0 0 5px;
text-align: left;
}
[/css]

El siguiente paso es modificar los parámetros de configuración del tooltip, para ello se tiene los siguientes parámetros:

  • track: booleno que indica si el tooltip seguirá al mouse o se quedará estático.
  • delay: tiempo en milisegundos antes que aparezca el tooltip.
  • showURL: booleano que indica si se mostrará el url al final del contenido.
  • showBody: caracteres que separa el titulo de contenido del tooltip.

Además de ello se tiene que definir a que tags se va aplicar el tooltip, por ejemplo si deseamos que todos los tags a, input e img tengan tooltip el código sería:

  1. <script type="text/javascript">
  2. $(function() {
  3.     // modify global settings
  4.     $.extend($.fn.Tooltip.defaults, {
  5.         track: true,
  6.         delay: 0,
  7.         showURL: false,
  8.         showBody: " - "
  9.     });
  10.     $('a, input, img').Tooltip();
  11. });

El Tooltip mostrará como texto el contenido de la propiedad title del tag seleccionado, para separar el titulo del contenido se utiliza el carácter que lo hemos definido en la propiedad showBody. Por ejemplo si tenemos un enlaze a Google y deseamos que muestre como titulo del tooltip “Google” y como contenido “http://www.google.com” el código sería.

  1. <a href="http://www.google.com"
  2. title="Google - http://www.google.com">Google</a>

Finalmente uniendo todas estas piezas obtenemos el código final para nuestro ejemplo:

  1. <title>jQuery Tooltip by unijimpe</title>
  2. <style type="text/css">
  3. body {
  4.     font-family: "Trebuchet MS", Verdana, Arial;
  5.     font-size: 12px;
  6.     color: #777777;
  7.     background-color: #F6FAFA;
  8. }
  9. #tooltip {
  10.     background-color: #CCCCCC;
  11.     border: 1px solid #888888;
  12.     color: #333333;
  13.     padding-top: 4px;
  14.     padding-bottom: 4px;
  15.     padding-left: 10px;
  16.     padding-right: 10px;
  17.     -moz-border-radius-bottomleft: 7px;
  18.     -moz-border-radius-bottomright: 7px;
  19.     -moz-border-radius-topleft: 0;
  20.     -moz-border-radius-topright: 7px;
  21.     max-width: 20em;
  22.     line-height: 12px;
  23. }
  24. #tooltip h3 {
  25.     font-size: 1.1em;
  26.     margin: 0;
  27.     padding: 0 3px;
  28.     text-align: left !important;
  29. }
  30. #tooltip p {
  31.     font-size: 0.95em;
  32.     margin: 5px 0 0 5px;
  33.     text-align: left;
  34. }
  35. <script src="jquery.js" type="text/javascript"></script>
  36. <script src="jquery.tooltip.js" type="text/javascript"></script>
  37. <script type="text/javascript">
  38. $(function() {
  39.     // modify global settings
  40.     $.extend($.fn.Tooltip.defaults, {
  41.         track: true,
  42.         delay: 0,
  43.         showURL: false,
  44.         showBody: " - "
  45.     });
  46.     $('a, input, img').Tooltip();
  47. });
  48. </head>
  49. <h3>jQuery Tooltip by unijimpe </h3>
  50. <p>Esta es una prueba de jQuery Tooltip</p>
  51. <ol>
  52.   <li><a href="http://www.google.com" title="Google - http://www.google.com">Google</a></li>
  53.   <li><a href="http://blog.unijimpe.net" title="unijimpe - http://blog.unijimpe.net">unijimpe</a>  </li>
  54. </ol>
  55. </body>
  56. </html>

Con lo cual obtenemos el siguiente resultado.

tooltip.gif

Finalmente y a pedido de nuestros visitantes les dejo los archivos fuente de este ejemplo para que lo descarguen y puedan probarlo funcionando.

Comentarios Total 11 comentarios


necudeco
Publicado: 16/12/2006 9:06 am

Existe otra libreria, que nos permite incluir imagenes en el tooltip y tambien nos da la facilidad de manejar los tooltips como archivos independientes pudiendo asi reutilizarlos.
JTip

unijimpe
Publicado: 16/12/2006 10:59 am

Si es cierto, ademas jTip es muy bueno en su momento hablare de ello, por lo demás vi tu blog y tienes un muy buen post sobre jTip, felicitaciones y gracias.

Manuel Víquez Carazo
Publicado: 02/02/2007 9:41 pm

MUCHAS GRACIAS!!!
ME SIRVIÓ MUCHÍSIMO LA EXPLICACIÓN DEL JQUERY TOOLTIP.
DESDE SAN JOSÉ, COSTA RICA
MANUEL VÍQUEZ

kary
Publicado: 25/07/2007 1:39 am

muy bueno… voy a usarlo en mi pagina pero con otro diseño… muchas gracias!!

Ghis
Publicado: 29/11/2007 2:04 am

como lo puedo hacer para incluir una imagen en el tooltip, ademas del texto…Por mas que intento hacerlo no puedo…Me seria de gran ayuda una respuesta. gracias

elfleat
Publicado: 16/08/2008 1:10 am

Me tomó 1 minuto implementarlo y 30 segundos personalizarlo… Muy cómodo y fácil de adaptar, lo recomiendo.

Gracias por el dato =)

Antonio
Publicado: 27/09/2008 10:52 am

Gracias por el artículo unijimpe.
Lo he probado y es muy bueno, pero me gustaría saber si es posible insertar información externa en el tooltip, por ejemplo, desde XML.

Se que por medio de la función de jQuery “$get” o “$post” puedo leer un archivo XML o parte de él, de la siguiente forma.

$.get(“data.xml”, function (xml) {

}

Lo que no se es como podría implementarlo con el tooltip.
Alguno de vosotros puede orientarme o darme alguna idea?

Muchas gracias

Xim
Publicado: 12/04/2009 7:42 pm

Hola,
a mi no me funciona y lo he hecho exactamente igual.
Es como si no se aplicase el diseño al tooltip. Alguien sabe a que se puede deber??

gracias!

hector2c
Publicado: 20/05/2009 5:04 pm

hola Xim, el motivo que no funcione, es por que la version de jQuery que usa es muy antigua, creo que la 1.0, seguro la estas usando con la 1.3.2 que es la actual, dale por muerto a este plugin XD

Tooltips para K2 en Mandrake Works
Publicado: 01/06/2009 8:28 pm

[…] la misma librería JQuery que utiliza el tema K2, para no tener problemas, hasta que encontré esto, lo destripé, lo mejoré en el aspecto visual y lo llevé a plugin. El resultado está a la vista […]

Ruth
Publicado: 24/09/2010 10:18 am

Mi duda es que deseo que en vez de que tome el title, tome otro cambo, y cuando le cambio el nombre, no me aparece el tooltip

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)