Hoy he estado haciendo unos cuantos experimentos con javascript. La verdad es que no he llegado a donde quería llegar, pero voy a asumir que es debido a que mi capacidad de diseño está atrofiada (y por suerte compensada en otras habilidades).
En fin, lo que estaba intentando hacer es algo como un efecto de click. Me explico. Lo que quería que ocurriera, es que cuando el usuario hiciera click en un enlace, se produjera como una especie de linea de expansión. Pongo un ejemplo. Has visto el tipico anuncio de la Wii, donde al principio aparecen como tres o cuatro círculos concéntricos que se dispersan hasta desaparecer? Pues algo así, pero para cuando el usuario hiciera click con el ratón en una web.
Al final de trastear un rato, hacer unos cuantos experimentos con imágenes, y seguir trasteando con animaciones sencillas, creo que he llegado a una primera aproximación que mas o menos se parece a lo que yo quería.
Básicamente, el ejemplo tiene 2 fragmentos interesantes (tampoco hay más en el html):
El primer fragmento es el que asocia el evento de click a todos los elementos que tienen la clase ‘clickable-round’. Cuando hagas click dentro de un elemento de esa clase, aparecerá un círculo que se irá difuminando.
$('.clickable-round').click (function (event) { $(event.currentTarget).jSimulateClick (event.pageX - 1, event.pageY - 1, 'round'); });
El segundo fragmento, asocia el evento de click a los elementos de la clase ‘clickable-square’. Cuando hagas click en cualquiera de estos elementos, el efecto será similar al anterior, pero en vez de mostrar un círculo, mostará un rectángulo que va, desde donde hayas hecho click, hasta cubrir el área del elemento en cuestión:
$('.clickable-square').click (function (event) { $(event.currentTarget).jSimulateClick (event.pageX - 1, event.pageY - 1); });
Si quieres trastear el plugin, los parámetros con los que se puede trastear son el color del borde, el tamaño inicial del borde, la duración de la animación, …
Este javascript se puede usar para aplicaciones personales, comerciales y para lo que se quiera.
Finalmente, agradecería cualquier comentario para mejorar el efecto.
English
21/08/2011 at 3:10 pm Permalink
excelente hermano
eres bueno!
09/11/2011 at 2:42 am Permalink
Me ha encantao!!