PNG transparentes en IE6 con DD_belatedPNG

Algo bastante común con los PNGs transparentes es que ie6 no los muestre correctamente. Gracias a DD_belatedPNG nos podemos olvidar de la mayoría de problemas que nos causan en cuestión de segundos.

Es bastante sencillo de implementar.

<!--[if IE 6]>
<script src="DD_belatedPNG.js"></script>
<script>
DD_belatedPNG.fix('.png_bg'); //EXAMPLE
</script>
<![endif]-->

Personalmente he probado muchísimos «png fix» y el actual es el único que ha cumplido medianamente con mis espectactivas. Su peso es de ~7kb comprimido, vistas al alternativas y los resultados nada mal.

Algunas de las cualidades de DD_belatedPNG son:

  • Emplear PNG de 24-bit con transparencia como fondo mediante la propiedad background-image de CSS
  • Posicionar esas imagenes mediante background-position o repetirlas con background-repeat
  • No usa AlphaImageLoader con lo que no encontraremos problemas con el z-index
  • Responde a element.style y a la pseudoclase :hover
  • Es muy sencillo de implementar y pesa muy poco

Web : http://dillerdesign.com/

Pirobox – Jquery Plugin para simular Lightbox

Pirobox es un plugin de JQuery que permite crear galerías de imágenes transitables con el efecto lightbox.

Pirobox, ejemplo theme blanco.

Pirobox, ejemplo theme blanco.

Lo he utilizado en varios proyectos, es sencillo de utilizar y bastante personalizable. Trae por defecto 2 estilos, en blanco y en negro. Además permite tener dentro o fuera la navegación entre las diferentes imágenes de la galería. Personalmente le encuentro dos inconvenientes, su peso (14Kb pack) y la cantidad de código necesaria para organizar las galerías.

Web : www.pirolab.it

Easy Tooltip, plugin de jquery

EasyTooltip es un plugin para JQuery muy simple y sobre todo muy ligero para añadir tooltips a tus diseños web.

Para los que no sepan que es un tooltip, decir que es información que se despliega al pasar el ratón por encima de un link.

Solamente pesa 2kb sin comprimir y comprimido con Online YUI Compressor menos de 1kb.

Pluging JQuery Easy Tooltip

Las opciones de EasyTooltip son pocas pero funcionales 😀

  • xOffset – Indica la distancia del eje x a la que se va a posicionar el tooltip del puntero del ratón. (En píxeles). El valor por defento es 10.
  • yOffset – Indica la distancia del y a la se va a posicionar el tooltip del puntero del ratón. (En píxeles). El valor por defento es 25.
  • tooltipId – Si deseas asignar un identificador a tu tooltip puedes añadírselo. Así podrás tener varios tooltips en la misma página y con estilos diferentes añadiendo definiciones css al identificador en cuestión.. El valor por defento es «easyTooltip».
  • clickRemove – Por defecto el tooltip se oculta cuando dejamos de seleccionar el elemento pero también podemos agregar la opción de que desaparezca al clickar sobre el elemento. El valor por defento es false.
  • content – Por defecto EasyTooltip captura el contenido del atributo title del elemento. Para asignarle un contenido personalizadebemos añadir la opción al llamar al tooltip. Usa esta opción para personalizar el contenido del tooltip. El valor por defento es «» (vacío).
  • useElement – Se puede asignar contenido de una capa indicándole el identificador. Resulta muy útil cuando quieres añadir código HTML complejo. La mejor manera de usar esta opción es crear un elemento estático en HTML, ocultarlo con css (display:none;) y llamarlo desde el pluging.

Ahora toca verlo en acción :

Si deseas descargarlo puedes hacerlo desde la página oficial cssglobe.com o directamente clickando AQUÍ.

En mi juego Kobox he decidido cambiar mi antiguo tooltip «wz_tooltip» por EasyTooltip principalmente porque ahora utilizo JQuery, pesa solamente 1kb y es muy sencillo de adaptar.

He realizado unas cuantas modificaciones para adaptar el código a mis necesidades, podéis ver un ejemplo AQUÍ.

Parámetros opcionales en javascript

A diferencia de otros lenguajes javascript no posee la opción de crear funciones con parámetros con valores por defecto.
El asunto tiene un arreglo bastante «sencillo».

La vía rápida es crear las funciones con la siguiente estructura :

function mi_funcion(parametro1, parametro2){
   //queremos que parametro1 tenga por defecto el valor 33
   parametro1 = parametro1 || 33;
   //queremos que parametro2 tenga por defecto el valor false
   parametro2 = parametro2 || false;
   // ... resto código ...
}

Si además deseamos controlar algunos valores que contienen las variables en determinados momentos como puede ser el valor ‘undefined’ podemos apañar el código anterior de la siguiente manera.

function mi_funcion(parametro1, parametro2){
   //queremos que parametro1 tenga por defecto el valor 33 pero que respete posibles valores undefined
   parametro1 = (typeof parametro1 == 'undefined') ? 33: parametro1 ;
   //queremos que parametro2 tenga por defecto el valor false
   parametro2 = parametro2 || false;
   // ... resto código ...
}

¿A quién no le gusta tener una función que le facilite las cosas?

//valores por defecto 
//valor (contiene el valor actual del parámetro), defecto (contiene el valor por defecto)
//quiero_null (especifica si deseamos controlar algo especial, en este caso el valor 'undefined' , 
//                posibles valores true o false, por defecto adquiere false)
function defecto(valor, defecto, quiero_null){
	quiero_null = quiero_null || false;   
	if (quiero_null){
		valor = (typeof valor == 'undefined') ? defecto : valor;
	}else{
		valor = valor || defecto;
	}	
	return valor;
}

El código se puede «comprimir» todavía más, personalmente prefiero conservar claridad antes que ahorrarme un par de bytes.
Apliquemos la nueva función para otorgar valores por defecto a los parámetros de nuestras funciones.


//valores por defecto 
function defecto(valor, defecto, quiero_null){
	quiero_null = quiero_null || false;   
	if (quiero_null){
		valor = (typeof valor == 'undefined') ? defecto : valor;
	}else{
		valor = valor || defecto;
	}	
	return valor;
}

//nuestra función con valores por defecto
function mi_funcion(parametro1, parametro2){
   //queremos que parametro1 tenga por defecto el valor 33 pero que respete posibles valores undefined
   parametro1 = defecto(parametro1, 33, true);
   //queremos que parametro2 tenga por defecto el valor false
   parametro2 = defecto(parametro2 , false);
   // ... resto código ...
}

Enviar un formulario desde una imagen o link con javascript

Supongamos que deseamos enviar un formulario pero deseamos hacerlo en vez de desde el típico botón submit (TYPE=»submit») desde un enlace o una imagen.

Desde un enlace :

<form action="dondequierasir" method="post"> 
<input name="texto_1" type="text" />
//indicamos la acción de enviar el formulario
<a href="javascript:document.nombre_formulario.submit();">Enviar formulario</a>
</form>

Desde una imagen :


<form action="dondequierasir" method="post"> 
<input name="texto_1" type="text" />
//añadimos al evento onClick la acción de enviar el formulario
<img onclick="javascript:document.nombre_formulario.submit();" src="ruta_imagen" alt="" />
</form>