sábado, 4 de enero de 2014

Agrandar imágenes al pasar el mouse




Entre los diferentes métodos existentes para aumentar la imágenes, este se caracteriza por que al pasar el cursor las fotos se agrandan expandiéndose con un efecto deslizante como el de este ejemplo:


Para ello, ves a Plantilla, pulsa en Editar HTML, y antes de </head> agrega lo siguiente:
<script type='text/javascript'>
//<![CDATA[

/* Expando Image Script 2008 John Davenport Scheuer
as first seen in http://www.dynamicdrive.com/forums/
username: jscheuer1 - This Notice Must Remain for Legal Use
*/

if (document.images){
(function(){
var cos, a = /Apple/.test(navigator.vendor), times = a? 20 : 40, speed = a? 40 : 20;
var expConIm = function(im){
im = im || window.event;
if (!expConIm.r.test (im.className))
im = im.target || im.srcElement || null;
if (!im || !expConIm.r.test (im.className))
return;
var e = expConIm,
widthHeight = function(dim){
return dim[0] * cos + dim[1] + 'px';
},
resize = function(){
cos = (1 - Math.cos((e.ims[i].jump / times) * Math.PI)) / 2;
im.style.width = widthHeight (e.ims[i].w);
im.style.height = widthHeight (e.ims[i].h);
if (e.ims[i].d && times > e.ims[i].jump){
++e.ims[i].jump;
e.ims[i].timer = setTimeout(resize, speed);
} else if (!e.ims[i].d && e.ims[i].jump > 0){
--e.ims[i].jump;
e.ims[i].timer = setTimeout(resize, speed);
}
}, d = document.images, i = d.length - 1;
for (i; i > -1; --i)
if(d[i] == im) break;
i = i + im.src;
if (!e.ims[i]){
im.title = '';
e.ims[i] = {im : new Image(), jump : 0};
e.ims[i].im.onload = function(){
e.ims[i].w = [e.ims[i].im.width - im.width, im.width];
e.ims[i].h = [e.ims[i].im.height - im.height, im.height];
e (im);
};
e.ims[i].im.src = im.src;
return;
}
if (e.ims[i].timer) clearTimeout(e.ims[i].timer);
e.ims[i].d = !e.ims[i].d;
resize ();
};

expConIm.ims = {};

expConIm.r = new RegExp('\\bexpando\\b');

if (document.addEventListener){
document.addEventListener('mouseover', expConIm, false);
document.addEventListener('mouseout', expConIm, false);
}
else if (document.attachEvent){
document.attachEvent('onmouseover', expConIm);
document.attachEvent('onmouseout', expConIm);
}
})();
}
//]]>
</script>

<style>
img.expando{
margin:10px;
vertical-align: top; 
}
</style>

Luego, cada vez que quieras usar este efecto, introduce lo siguiente:
<img border="0" src="URL imagen" class="expando" width="50" />

 Ahora cambia lo que esta en azul por la anchura de la imagen antes de expandirse, y lo que esta en rojo por la URL de la imagen.

1 comentario:

  1. Excelente aportes soy desarrollador y me parece muy bueno estas recomendaciones y aportes que ustedes nos brindan muchas gracias

    ResponderEliminar

Atencion

Si deseas publicar alguno de nuestros posts en otro sitio web o blog, sólo te pedimos que coloques un enlace al post original de nuestro blog, un enlace es nuestro único requisito.

Buscador

Total visitas

Con la tecnología de Blogger.

Lo Más Visto de la Semana

Categorias

Mapa de visitas en 2D

Mapa de visitas en 3D