Hace poco cree un nuevo blog para compartir frases que me gusten y quería que ademas de frases se muestren imágenes del autor de la misma, y encontré una forma bastante linda y fácil, se le agrega una dirección feed donde estén las imágenes y listo se ve algo asi:

Cargando ...


Para usarlo hay que hacer esto:

Primero, necesitamos el script que llamamos desde la plantilla (antes del /head), desde un post o desde algún elemento HTML  que agregamos. En todos los casos, escribimos:

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script src="http://www.google.com/uds/solutions/slideshow/gfslideshow.js" type="text/javascript"></script>


Segundo,  en el post o donde se quiera poner el cuadro, hay que implementar  un DIV con un ID, el ID es para diferenciarlo si usamos varios en la misma página.
Tercero, agregar la llamada al script, con todas las opciones. Esto se puede agregar junto con el DIV o en otra parte, el cuadro se muestra donde esta el DIV.


El código para usarlo sería algo asi:

<div id="slideShow" style="width:160px;height:160px;">Cargando ...</div>

<script type="text/javascript">
  function LoadSlideShow() {
    var feed  = "URL_delFeed";
    var options = {displayTime:2000, transistionTime:600, scaleImages:true};
    var ss = new GFslideShow(feed, "slideShow", options);
  }
  google.load("feeds", "1");
  google.setOnLoadCallback(LoadSlideShow);
</script>


Yo uso el Feed que te da la web de Picassa, ya que uso el software de Picassa para subir las imágenes.
Antes de usarlo, si se quiere se puede configurar el slideshow para personalizarlo un poco, en la web de google se explican todas las opciones pero está en inglés, si querés y no sabes inglés podes intentar leer la versión traducida.
algunas de las opciones (se agregan separadas con coma  en 'var options') son:

  • la cantidad de imágenes: numResults:cantidad
  • mantener o no la relación ancho/alto: scaleImages:true|false (por defecto es true)
  • o bien maintainAspectRatio:true|false
  • el tiempo que permanecen visibles: displayTime:valor (en milisegundos, por defecto 3000)
  • el tiempo que dura la transición: transitionTime:valor (en milisegundos, por defecto 1000)
  • transformar o no las imágenes en enlaces: linkTarget:google.feeds.LINK_TARGET_BLANK (por defecto no)
  • habilitar o deshabilitar pausa con mouseover: pauseOnHover:true|false (por defecto es true)
  • habilitar panel de control: fullControlPanel:true
  • panel de control con íconos pequeños: fullControlPanelSmallIcons:true
El tamaño de las miniaturas puede establecerse con estas opciones:
  • thumbnailSize: GFslideShow.THUMBNAILS_SMALL
  • thumbnailSize: GFslideShow.THUMBNAILS_MEDIUM
  • thumbnailSize: GFslideShow.THUMBNAILS_LARGE
Fuente: Vagabundia

Hace exactamente dos entradas publiqué como cambiar imágenes al pasar el mouse, pero noté que habia un problema con las imágenes que no son muy pequeñas.. tarda en cargar la segunda imágen.. y aveces tarda tanto que uno ni se da cuenta que al pasar el mouse se cambiaba de imágen... traté de solucionarlo con una precarga de imágenes pero no mejoró casi nada.

La solución y mejora a esto esta en utilizar lo que se llama botón, que no es otra cosa que una imágen con tres funciones:
inactivo: Primera imágen, que aparece
over: Segunda imágen (cuando se coloca el puntero del ratón sobre él)
activo: Tercera imágen (cuando se hace click)


Si bien hablo de tres imágenes el secreto esta en que es una sola, eso es lo que evita que tarde en cargar.

El código para hacer esto sería el siguiente:



<a href="URL IMAGEN" style="background:transparent url(URL IMAGEN) no-repeat left top; width:ANChOpx; /* la mitad o la tercera parte del ancho de la imagen */ height:ALTOpx; /* el alto de la imagen */ display: block; text-decoration: none"
   onmouseout="this.style.backgroundPosition='left top';"
   onclick="this.style.backgroundPosition='right top';"
   onmouseover="this.style.backgroundPosition='center top';">
</a>

El & # 160 ; (sin espacios) supuestamente es para que los navegadores no confundan la etiqueta con una vacia pero no importa, hay que agregarlo antes del </a>
, eso es lo importante a saber

Les dejo un ejemplo de como carga más rápido:
Efecto mouseover con dos imágnes separadas(mas lento, tu explorador no tiene que haber cargado ya esta imagen para notar el efecto):



Efecto boton, con una imagen dividida en tres(mas rapido :-) aparte de evitarnos usar Javascript:






Tambien se puede hacer este mismo efecto con un texto agregado, esto se hace creando un bloque div antes del código.. pero como todavía no lo use les dejo el enlace al blog de J.Miur donde lo ví para el que lo quiera

Sigo con otra entrada sobre efectos en imágenes.

Para ampliarla con un click y reducirla con dos click, de esta forma:



hay que usar este código, reemplazando lo necesario:




<img
src="URL DE LA IMAGEN"
width="ANCHO DE IMÁGEN REDUCIDA"
onclick="javascript:this.height=ALTO IMAGEN AMPLIADA;this.width=ANCHO IMAGEN AMPLIADA"
ondblclick="javascript:this.width=ANCHO IMAGEN REDUCIDA;this.height=ALTO IMAGEN REDUCIDA"/>



Para ampliarla al pasar el mouse:


Hay que usar este:



<img 
src="URL IMAGEN" 
width="ANCHO IMAGEN REDUCIDA"
onmouseover="javascript:this.height=ALTURA IMAGEN AMPLIADA;this.width=ANCHO IMAGEN AMPLIADA"
onmouseout="javascript:this.width=ANCHO IMAGEN REDUCIDA;this.height=ALTO IMAGEN REDUCIDA"/>

También puede combinarse con otros scripts de java como el anterior   y quedaría por ejemplo algo asi (tarda en cargar, la solución para que cargue mas rápido esta aca):


Cualquier duda pregunta que no hay drama, saludos.

Visto en:http://santyweb.blogspot.com/2008/08/ampliar-imgenes-con-mouse.html

Siguiente Anterior Ir a página principal

LinkWithin

Related Posts with Thumbnails

Blogger Template by Blogcrowds

 
ir arriba