Webmaster Libre

Desarrollo web con software libre

Buscador

Archivo de la categoría "Javascript"

Tooltip.js versión 0.2

Hace algún tiempo tocamos por encima unos cuantos scripts javascript que nos permitían crear atractivos tooltips para nuestros sitios web. Hoy ha aparecido la versión renovada y mejorada de uno de ellos: tooltip.js de Jonathan Weiss.

tooltip.js en accion

Esta versión introduce dos mejoras fundamentales:

  1. Sigue correctamente al ratón cuando usamos Firefox. Muy útil cuando usamos posicionamiento absoluto en nuestras hojas de estilo
  2. Gracias a Xabier Lepaul, ahora podemos crear tooltips de un texto existente. Esto nos permite, por ejemplo, crear tooltips para los atributos tittle

Puedes ver una demo o descargar el archivo tooltip.js del blog del autor.

tooltip.js - version 0.2

Via Ajaxian

SWFObject: Detectando e insertando Flash en nuestros sitios

Utilizar flash en nuestros sitios es siempre una elección controvertida, su incompatibilidad con ciertos SO, etiquetas que no funcionan en algunos navegadores, sus defectos en el campo de la accesibilidad y SEO…

SWFObject (anteriormente conocido como FlashObject) es un script Javascript que pretende disminuir tus dolores de cabeza. Este script puede detectar automáticamente el plugin en la mayoría de navegadores y está pensado para facilitar la tarea de embeber contenido Flash en nuestros sitios. Además es amistoso con los buscadores, degrada sin inconvenientes para navegadores sin javascript o flash, pude insertarse en páginas HTML y XHTML válidas (siempre que el XHTML se sirva como text/html) y será compatible con subsiguientes versiones de navegadores y plugins.

SWFObject: http://blog.deconcept.com/swfobject/

Edición:

Me recomiendan que os comente que el script creado por David y que podeis encontrar en: http://armonia.spiral-static.org/?2006/09/19/144-activar-contenido-embebido-con-javascript es una mejor alternativa a SWFObject.

Firebug 1.0 seguirá siendo libre

Firebug Logo

Firebug, la popular extensión para Firefox que nos ayuda a editar, depurar y monitorizar CSS, HTML y Javascript, ha llegado a su versión 1.0 beta con una buena noticia adicional.

Durante un tiempo su creador, Joe Hewitt, barajó la posibilidad de convertir Firebug en un producto comercial pero, con el lanzamiento de la versión 1.0 beta nos ha sorprendido con una fantástica noticia: Firebug va a seguir siendo gratuito y de código abierto, adoptando para la versión 1.0 final la misma licencia triple MPL/GPL/LGPL que utiliza Firefox.

Además, a partir de ahora tendremos la posibilidad de disfrutar de las ventajas de Firebug cuando estemos depurando código en Opera, Safari o Internet Explorer gracias a Firebug Lite, una librería Javascript que te permitirá embeber una consola de Firebug en tus páginas.

Firebug: http://www.getfirebug.com
Firebug Lite: http://www.getfirebug.com/lite.html

Tablas mejoradas con Prototype

Una forma interesante de darle un poco de vida a esas tablas que introducimos en nuestros sitios web para contener listados de, por ejemplo, productos. Con un poco de Prototype es francamente sencillo conseguir:

  • Alternar el color de las filas
  • Cambiar el color de fondo de la fila al pasar el ratón por encima
  • Al hacer click en una columna se abre una ventana con información sobre la misma

La tabla que queremos mejorar es algo así:

  1. <table id="products">
  2.  <tr>
  3.   <th>product</th>
  4.   <th>price</th>
  5.  </tr>
  6.  <tr id="1">
  7.   <td>mouse</td>
  8.   <td>12.34</td>
  9.  </tr>
  10.  <tr id="2">
  11.   <td>printer</td>
  12.   <td>23.45</td>
  13.  </tr>
  14.  <tr id="3">
  15.   <td>screen</td>
  16.   <td>34.21</td>
  17.  </tr>
  18.  <tr id="4">
  19.   <td>USB stick</td>
  20.   <td>1.23</td>
  21.  </tr>
  22.  <tr id="5">
  23.   <td>keyboard</td>
  24.   <td>2.34</td>
  25.  </tr>
  26. </table>

Ahora colocamos el siguiente código Javascript en un archivo a parte, así podremos reutilizarlo y no hacer demasiado pesada la página con la tabla

  1. var ListTable = Class.create();
  2. ListTable.prototype = {
  3.  initialize: function(tableId, path) {
  4.   table = $(tableId);
  5.   Element.addClassName(table, 'listTable');
  6.   var odd = true;
  7.   $A(table.getElementsByTagName('TR')).each(function(row){
  8.    if(row.id !== ''){
  9.     listRow = new ListRow(row, path, odd);
  10.     odd = !odd;
  11.    }
  12.   });
  13.  }
  14. };
  15.  
  16. var ListRow = Class.create();
  17. ListRow.prototype = {
  18.  initialize: function(row, path, odd) {
  19.   this.row = row;
  20.   this.path = path;
  21.   if(odd) {
  22.    this.addBehavior('ltOdd', 'ltOddOver');
  23.   } else{
  24.    this.addBehavior('ltEven', 'ltEvenOver');
  25.   }
  26.  },
  27.  addBehavior: function(clazz, classOver) {
  28.   Element.addClassName(this.row, clazz);
  29.   this.classOver = classOver;
  30.   this.row.onmouseover = this.handleOnMouseOver.bindAsEventListener(this);
  31.   this.row.onmouseout = this.handleOnMouseOut.bindAsEventListener(this);
  32.   this.row.onclick = this.handleOnClick.bindAsEventListener(this);
  33.  },
  34.  handleOnClick: function(event) {
  35.   location.href = this.path + '?id=' + this.row.id;
  36.  },
  37.  handleOnMouseOver: function(event) {
  38.   Element.addClassName(this.row, this.classOver);
  39.  },
  40.  handleOnMouseOut: function(event) {
  41.   Element.removeClassName(this.row, this.classOver);
  42.  }
  43. };

Añades el archivo prototype.js al directorio del javascript y listo.

Toda la explicación del «truco» en el artículo original, con un ejemplo para descargar de regalo: Enhance list tables with Prototype Javascript Framework

Open-jACOB Draw2D: Javascript para crear gráficos y diagramas

Open-jACOB Draw2D

Open-jACOB Draw2D es una librería Javascript que te permite crear gráficos y diagramas. Su interfaz te permitirá dibujarlos directamente desde tu navegador, sin necesidad de instalar ningún software adicional.

Open-jACOB Draw2D es el componente de dibujo de Open-jACOB un editor de Workflow al puro estilo de Visio con la finalidad de probar que realmente puede hacerse totalmente online y sin necesidad de instalar plugins.

Open-jACOB Draw2D: http://www.openjacob.org/draw2d.html
Demo Interactiva: http://www.openjacob.org/draw2d/simple_interactive/index.html

Open-jACOB:
http://www.openjacob.org/index.html

Vía Ajaxian

Link Preview (v2): Vida para tus enlaces con Javascript y Websnapr

Link Preview 2 En Frequency Decoder han creado un sencillo Javascript que nos permite ofrecer a nuestros visitantes pequeñas capturas de pantalla de los sitios a los que les llevarán nuestros enlaces, utilizando el servicio de Websnapr.

Integrarlo en nuestros sitios es, incluso más sencillo que utilizar un plugin, tan simple como añadir una referencia a los archivos websnapr.js y websnapr.css en la cabecera de nuestros documentos

  1. <style type="text/css" media="screen">@import "/the/path/to/websnapr.css";</style>
  2.  <script type="text/javascript" src="/the/path/to/websnapr.js"></script>

Y editar la línea 22 de websnapr.js para que refleje nuestra ruta a las imágenes

  1. // Line 22
  2.  baseURI: "./",

Podéis ver un ejemplo en El Buscador de Webmaster Libre

Link Preview v2:
http://www.frequency-decoder.com/2006/10/25/link-preview-v2

SWFUpload: Una agradable forma de subir archivos

SWFUpload

SWFUpload es una pequeña librería javascript/swf que te permitirá crear agradables diálogos de subida de archivos para tus aplicaciones web.

Características:

  • Muestra sólo los tipos de archivo seleccionados en el diálogo
  • Permite subir múltiples archivos a la vez presionando ctrl/shift-seleccion
  • Activa funciones en Javascript al iniciar, cancelar, en progreso y finalizado
  • Obtiene la información/tamaño del archivo antes de iniciar la subida
  • Da estilo a los botones del modo que prefieras
  • Crea barras de progreso/información usando XHTML y CSS válido
  • Sin recargas de página, los archivos se muestran según terminan de subirse
  • Funciona en todas las plataformas con soporte para Flash ( está hecho en Flash 8 )
  • Se degrada a un formulario de upload HTML para navegadores sin Javascript o Flash

SWFUpload: http://labb.dev.mammon.se/swfupload/

Via Ajaxian

Imágenes aleatorias con Javascript

Una de las formas más sencillas de transmitir la «vida» de un sitio web es ofrecer a nuestros visitantes algo nuevo en cada una de sus visitas. Con este sencillo Javascript podremos servir imágenes aleatorias, por ejemplo la cabecera que cambiará con cada carga de página.

  1. <script language="JavaScript" type="text/javascript">
  2. <!--
  3. // La función devuelve un número entre 0 y "nums - 1"
  4. function getRandom(nums)
  5. {
  6.     var ranNum= Math.round(Math.random()*nums);
  7.     return ranNum;
  8. }
  9.  
  10. // Nos dice cuantas imágenes tenemos
  11. var numberOfImages    = 5;
  12. var randomNumber        = getRandom(numberOfImages);
  13.  
  14. // Creamos un Array con los nombres de las imagenes, introduce tantas como necesites pero recuerda actualizar también la variable numberOfImages
  15. var image = new Array(numberOfImages);
  16. image[0]="imagen1.gif";
  17. image[1]="imagen2.gif";
  18. image[2]="imagen3.gif"
  19. image[3]="imagen4.gif";
  20. image[4]="imagen5.gif";
  21.  
  22. // Escribimos la etiqueta img con una imagen aleatoria
  23. document.write("<img xsrc='" + image[randomNumber] + "' />");
  24.  
  25. --></script>

Se trata de un script muy sencillo que aprovecha una función que nos devuelve números de forma aleatoria. Es, por tanto, importante que todas nuestras imágenes estén renombradas según un patrón: imagen*.gif, por ejemplo.

MochiKit.Animator: Una vuelta de tuerca a la animación con Javascript y CSS

El otro día nos sorprendíamos con la librería Animator.js, del que se hacía eco Andrés Nieto que nos permitía crear excelentes efectos de animación de elementos de una página con CSS y Javascript.

Hoy descubro MochiKit.Animator, una versión totalmente renovada y vectorizada de la librería de Bernard Sumption, que genera complejas animaciones con un par de líneas de código y permite unos efectos realmente impresionantes.

MochiKit.Animator Demo: http://gr.ayre.st/~grayrest/animator/animator.html

Amberjack: Visitas guiadas a tus sitios web

Amberjack

Seguro que alguna vez has visto el tipico tour guiado por las características de un sitio web o, incluso, el archiconocido paseo por Windows XP.

Amberjack es una ligera librería javascript de Código Abierto que te permitirá crear uno de estos paseos con el que explicar a tus visitantes lo que puedes ofrecerles y como interactuar con el sitio, con el subsiguiente aumento en la usabilidad del mismo.

Para crear tu «tour» no tendrás que aprender demasiado ya que cuenta con un Asistente que te guiará paso a paso en la creación del mismo.
En cuanto a posibilidades de personalización, dispones de algunos skins listos para descargar en el sitio y podrás crear los tuyos propios editando los parametros de la hoja de estilo CSS.

Yo ya tengo un par de ideas para darle uso ¿y vosotros?

Amberjack: http://amberjack.org

Via Ajaxian