08
may

Star Rating con jQuery

Star Rating es un plugin de jQuery para votar/puntuar cosas.
Aquí tienes unos ejemplos.

Se implementación es relativamente fácil, añadimos las librerías javascript en el head:

<script language="javascript" type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script language="javascript" type="text/javascript" src="jquery-ui-1.7.1.min.js"></script>
<script language="javascript" type="text/javascript" src="ui.stars.min.js"></script>

Ahora, la hoja de estilos:

<link rel="stylesheet" type="text/css" href="ui.stars.css" />

Configuración del script:

<script type="text/javascript">
	$(function(){
		$("#ratings").children().not(":radio").hide(); //Escondemos todo el contenido exceptuando los radios.
		$("#ratings").stars({
			oneVoteOnly: true, //Este parámetro sirve para que una vez pulsada alguna estrella haga el submit.
			split: 2, //Dividimos las estrellas en medios
			callback: function(ui, type, value)
			{
				$.post("ratings.php", {rate: value}, function(data) //Fichero donde procesamos las votaciones.
				{
					$("#ajax_response").html(data); //Capa donde cargamos el contenido en Ajax.
				});
			}
		});
	});
</script>

El contenido html:

<form id="ratings" action="ratings1.php" method="post">
    <input type="radio" name="rate" value="0.5" id="rate1" />
    <input type="radio" name="rate" value="1" id="rate2" />
    <input type="radio" name="rate" value="1.5" id="rate3" />
    <input type="radio" name="rate" value="2" id="rate4" />
    <input type="radio" name="rate" value="2.5" id="rate5" />
    <input type="radio" name="rate" value="3" id="rate1" />
    <input type="radio" name="rate" value="3.5" id="rate2" />
    <input type="radio" name="rate" value="4" id="rate3" />
    <input type="radio" name="rate" value="4.5" id="rate4" />
    <input type="radio" name="rate" value="5" id="rate5" />
    <input type="submit" value="Enviar" />
</form>

<br style="clear:both" />
<p id="ajax_response"></p>

- Ejemplo: aquí.
- Más ejemplos: aquí.
- Descarga: aquí.

30
abr

Columnas de igual altura con jQuery

Cuando se utiliza una tabla, todas las columnas de este cuadro tiene la misma altura. Antiguamente esto no era un problema en absoluto ya que se maquetaba con tablas, pero ahora, con el aumento de las hojas de estilos (CSS) ahora es algo más complicado.

Añadimos en el head la librería jQuery y el plugin EqualHeights:

<script type="text/javascript" language="javascript" src="javascript/jquery-1.2.6.min.js"></script>
<script type="text/javascript" language="javascript" src="javascript/transBG.jquery.plugin.js">

Ponemos los estilos:

<style type="text/css">
	body{color:#FFFFFF; font-family:Arial, Helvetica, sans-serif; font-size:12px;}
	#container {margin:0 auto; width:980px; padding-top:10px;}
	h1 {color:#000; font-size:18px;}
	h2 {color:#000; font-size:14px; padding-bottom:5px;}
	.container { float:left; clear:left; width:100%; padding:0 0 2em; }
	.box { float:left; width:24%; margin-right:1%; background-color:#FF0000; }
	.box p { margin:.5em; padding:0; }
</style>

Y añadimos el selector:

<script language="javascript" type="text/javascript">
	$(function(){ $('#mismaAltura').equalHeights(); });
</script>

La capa con la id=mismaAltura hará el efecto.

Y por último el código html:

        <h2>Columnas sin igual alturas</h2>
        <div class="box"><p>A - Lorem ipsum dolor sit amet</p></div>
        <div class="box"><p>B - consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p></div>
        <div class="box"><p>C</p></div>
        <div class="box"><p>D - Ut enim ad minim</p></div>
        <br clear="all" /><br />
        <h2>Columnas con la misma altura</h2>
        <div class="container" id="mismaAltura">
            <div class="box"><p>A - Lorem ipsum dolor sit amet</p></div>
            <div class="box"><p>B - consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p></div>
            <div class="box"><p>C</p></div>

            <div class="box"><p>D - Ut enim ad minim</p></div>
        </div>

Ejemplo: aquí.
Descarga: aquí.

28
abr

20 Efectos Ajax

Colección de 20 fabulosos efectos en Ajax. Realmente son bastantes interesantes, además, muchos de esos efectos utiliza la librería jQuery.

21
abr

Conversion Thursday

¿Qué es un Conversion Thursday?

El Conversion Thursday es un evento mensual para compartir experiencias en analítica web y marketing de conversión.
Tienen lugar el segundo jueves de cada mes a partir de las 19h de la tarde y estan dirigidos a profesionales y empresas de la analítica web o marketing online con experiencias que compartir, discutir sobre testing (AB y multivariado) etc.

Herramientas que apoyan a la analítica web y que no son herramientas de analítica convencionales (Google Analytics, XiTi, Omniture SiteCatalyst, etc.).


Dividimos las herramientas en 3 tipos:

1.- Herramientas que nos ayudan a entender que hacen los usuarios.
2.- Herramientas que nos dicen que piensan los usuarios.
3.- Herramientas que nos dicen que pasa en el mercado.


1.- Que hacen los usuarios

Crazyegg: Te hace un mapa de calor de donde clican tus usuarios, te muestra los clics en función del referral. Es el famoso Site Map Overlay de Google Analytics pero este sí que funciona.

Userfly: Muy simple, graba sesiones de los usuarios. Esto no serviría para webs con mucho tráfico ya que tendríamos tantos videos (1 por cada visita) y sería imposible de analizar, pero perfecto en webs con poco tráfico.

Clickdensity: Parecido a crazyegg pero más económico y con una trial para 1 sitio web y hasta 5000 clicks.


2.- Herramientas que nos dicen que piensan los usuarios

Kampyle: Un formulario de opinión que se monta en 5 minutos y se sitúa en la parte inferior izquierda de la página y además no es intrusivo.

User voice: Sirve para que los usuarios puedan proponer cosas, temas, ideas en tu web y el resto de usuarios las valoren. Algo parecido a un menéame sobre las ideas de tus usuarios en tu propia web.

4Q: Es un formulario de opinión como el de Kampyle, lo único que este es un poco más intrusivo porque te fuerza una PopUp.


3.- Herramientas que nos dicen que pasa en el mercado

Hay teorías que dicen que es necesario saber que hace tu competencia para saber si lo estás haciendo bien o no. Es decir, si sabes que tu competencia crece un 15% y tu no algo haces mal. Estoy parcialmente de acuerdo con esto, pero lo que me parece interesante es saber lo que hace para saber dónde está el techo de mercado y ver hasta dónde se puede llegar.

- Netsuus: Procesan datos de forma manual.
- Compete
- Alexa
- Ad Planner de google.

Anfibic.com :: Desarrollo Web y analítica Web.

17
abr

File style: plugin jQuery

Este plugin nos ayudará a modificar el botón del input file ya que los navegadores no lo permiten, de momento.

Primero añadimos la librería jQuery y la del dicho plugin.

<script language="javascript" type="text/javascript" src="../../common/jquery-1.3.2.min.js"></script>
<script language="javascript" type="text/javascript" src="javascript/jquery.filestyle.pack.js"></script>

Llamamos al input con la clase ‘inputFile’ y lo iniciamos:

	$(function() {
		 $(".inputFile").filestyle({
			 image: "imagenes/examinar.gif", //Ruta de la imagen (botón).
			 imageheight:24, //Height de la imagen.
			 imagewidth: 96, //Widht de la imagen.
			 width: 250 //Tamaño del input.
		 });
	});

Le damos un pequeño estilo:

.inputFile {
	border:#bbb solid 1px;
	height:20px;
}

Ejemplo: aquí.
Más ejemplos: aquí.
Descarga del plugin: aquí.

08
abr

Múltiples navegadores

Gracias a los múltiples navegadores podemos testear todas nuestra webs, especialmente para las versiones del navegador Internet Explorer. Aquí os comento los que mejor funcionan.

IEtester, incorpora todas las versiones de IE posibles (IE5.5, IE6, IE7 y IE8) funciona en Windows XP y Windows Vista.
Lo puedes descargar: aquí.

Sin embargo también hay otro producto que me llamó la atención ya que puedes ejecutar el navegador que gustes sin instalar nada, simplemente ejecutándolo.

Puedes elegir entre estos navegadores: Internet Explorer 8, Internet Explorer 7, Internet Explorer 6, Firefox 3, Firefox 2, Google Chrome, Opera, Safari.

07
abr

Tooltip con jQuery

Un tooltip es una herramienta de ayuda visual patentada por Microsoft, que funciona al situar o pulsar con el ratón sobre algún elemento gráfico, mostrando una ayuda adicional para informar al usuario de la finalidad del elemento sobre el que se encuentra.

Crear un tooltip usando jQuery es muy sencillo, lo primero es añadir los estilos que queremos que tenga nuestro tooltip:

	#capaHelp {
		display:none;
		background:url(imagenes/tooltip.png) no-repeat top left;
		width:622px;
		padding:20px 10px 0 20px;
		height:82px;
		color:#000;
		font-weight:bold;
		margin:-100px 0 0 185px;
		position:absolute;
		z-index:101;
	}
	#capaContenido {
		padding:2px 25px 0 0;
		float:left;
		font-size:12px;
		color:#FFF;
		font-weight:bold;
		position:absolute;
	}

La capa ‘capaHelp’ es la capa contenedora del tooltip por eso la posicionamos donde queremos que aparezca y finalmente sobreposicionamos la capa con un z-index.

Añadimos el efecto con jQuery:

$(function() {
	$("#icoHelp").mouseover(function(event) {
		$("#capaHelp").slideToggle();
	});
	$("#icoHelp").mouseout(function(event) {
		$("#capaHelp").slideToggle();
	});
});

La id ‘icoHelp’ tendrá el evento mouseover y mouseout con un efecto ‘slideToggle’ de jQuery.
Como ya he dicho antes, este script es bastante simple pero si más no muy bonito, aquí tenéis más scripts sobre tooltips en jQuery.

Ejemplo: aquí.
Descarga: aquí.

01
abr

Recopilación de 50 galerías

Aquí tenéis una gran variedad de galerías de imágenes todas ellas gratuitas.
Si buscáis una galería creada en flash os recomiendo SimpleViewer, si en verdad queréis una galería creada en javascript y php os puede interesar dfGallery pero si queréis tener un control total de vuestra galería (usuarios, categorías, sub-categorías, uploads, etc.) os recomiendo Gallery2 o Coppermine.

27
mar

CSS PopUp con jQuery

Nueva versión CSS PopUp jQuery y Ajax.

Hemos visto como hacer un PopUp con un iframe transparente utilizando thichbox, os voy a mostrar otro método sin utilizar un iframe, simplemente con capas y con la ayuda de jQuery.
Lo primero que necesitamos es una capa que ocupe toda la pantalla y que tenga una opacidad.

<div id="capaPopUp"></div>

Luego necesitamos la ventana del popup.

<div id="popUpDiv">
	<div id="capaPng">
		<div>
			Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sodales vulputate erat. Nulla facilisi. Sed porta velit. Sed nec mi.
		</div>
		<a href="javascript:void(0);" title="Cerrar" id="cerrar"><img src="wp-content/examples/jquery/css-popup/imagenes/icons/cerrar.gif" title="Cerrar" alt="Cerrar" /></a>
	</div>
</div>

En nuestra hoja de estilos añadimos los siguientes estilos (Comento línea a línea para que sea fácil de entenderlo):

/**************************************************************************
ESTILOS PARA LA VENTANA POPUP 20090323@JCP
***************************************************************************/
#capaPopUp {
	background-color:#000;  	/* Le damos la el color de la opacidad. */
	opacity:0.65; 				/* Este valor mostrará la intensidad de la opacidad. */
	position:absolute; 			/* La posición tendrá que ser absoluta. */
	z-index:9001; 				/* Esta propidad es para añadir la capa superpuesta al nivel 9001. */
	top:0; 						/* Para que posicione la capa al punto '0' del top de la página. */
	left:0; 					/* Para que posicione la capa al punto '0' a la izquieda de la página. */
	width:100%; 				/* El valor por defecto que tendrá que expandirse. */
	height:100%; 				/* El valor por defecto que tendrá que expandirse. */
	display:none;				/* Por defecto estará desactiva */
}
#popUpDiv {
	position:absolute; 			/* La posición tendrá que ser absoluta. */
	z-index:9002; 				/* Esta propidad es para añadir la capa superpuesta al nivel 9002 (antes que la capa 'capaPopUp'). */
	overflow:auto;				/* Esta propiedad la indicamos por si el contenido es más grande que la capa que por defecto salga el 'scroll'. */
	left:50%; 					/* Para posicionar horizontalmente la capa al centro de la página */
	display:none; 				/* Por defecto estará desactiva */
	top:50%; 					/* Para posicionar verticalmente la capa al centro de la página */
}
/**************************************************************************
ESTILOS PROPIOS DEL POPUP 20090323@JCP
***************************************************************************/
#capaContent {
	display:block;
	width:400px; 				/* Necesario para que el script centre la capa horizontalmente en la página */
	height:200px;				/* Necesario para que el script centre la capa verticalmente en la página */
	background-color:#FFF;
}

Para que Internet Explorer haga la opacidad tendremos que insertar un condicional en el ‘head’:

<!--[if IE]>
<style type="text/css" media="all">
	#capaPopUp 	{filter:alpha(opacity=65);}
</style>
<![endif]-->

Este condicional quiere decir: Si eres IE añade esta clase.

jQuery en acción…
Primero, añadimos la librería jQuery en el ‘head. Una vez hecho esto insertamos el script para hacer funcionar nuestra capa PopUp (comento las líneas para que sea más fácil entender el script).

/*
 * jQuery CSS popUp
 * http://dixso.net/
 *
 * Copyright (c) 2009 Julio De La Calle Palanques
 *
 * Date: 2009-03-27 12:34:00 - (Viernes, 27 Mar 2009)
 *
 */

//Variable que almacenará la posición del scroll, por defecto tiene valor 0.
var scrollCachePosition = 0;

$(function() {
	$("#abrirPop").click(function(event) {
		scrollCachePosition = $(window).scrollTop();
		//Envío el scroll a la posición 0 (left), 0 (top), es decir, arriba de todo.
		window.top.scroll(0,0);

		//Si el body es mas grande que la capa 'wrapper' incrementa la altura del body a la capa 'capaPopUp'.
		if ($("body").outerHeight()>$("#wrapper").outerHeight()){
			var altura=$("body").outerHeight();
	    }else{
		//Si la capa 'wrapper' es más grande que el body incrementa la altura de la capa 'wrapper' a la capa 'capaPopUp'.
			var altura=$("#wrapper").outerHeight();
		}
		window.document.getElementById("capaPopUp").style.height=altura+"px";
		event.preventDefault();
		//Muestro la capa con el efecto 'slideToggle'.
		$("#capaPopUp").slideToggle();

		//Calculo la altura de la capa 'popUpDiv' y lo divido entre 2 para darle un margen negativo.
		var altura=$("#popUpDiv").outerHeight();
		$("#popUpDiv").css("margin-top","-"+parseInt(altura/2)+"px");

		//Calculo la anchura de la capa 'popUpDiv' y lo divido entre 2 para darle un margen negativo.
		var anchura=$("#popUpDiv").outerWidth();
		$("#popUpDiv").css("margin-left","-"+parseInt(anchura/2)+"px");

		//Muestro la capa con el efecto 'slideToggle'.
		$("#popUpDiv").slideToggle();
	});
	$("#cerrar").click(function(event) {
		event.preventDefault();
		//Cierro las capas con el efecto 'slideToggle'.
		$("#capaPopUp").slideToggle();
		$("#popUpDiv").slideToggle();
		//Si la variable scrollCachePosition es mayor que 0 incrementará la posición del scroll al valor que se almacenó.
		if (scrollCachePosition > 0) {
			window.top.scroll(0,scrollCachePosition);
			//Reseteamos la variable scrollCachePosition a 0 para poder ejecutar el script tantas veces sea necesario.
			scrollCachePosition = 0;
		}
	});
});

¿Qué hace el script exactamente?
- Calcula la altura actual de todo el ‘body’ para hacer la opacidad.
- Calcula la altura y anchura de la ventana popUp definida en las CSS para poder centrar la capa horizontal y vertical.
- Almacena en una variable la posición del scroll actual para ser redirigido una vez al cerrar la ventana popUp.
- Añade efectos jQuery para la visualización de la ventana PopUp.

¿Ventajas respecto a un iFrame?
No muchas, teniendo en cuenta que en un iFrame se puede interactuar mejor, pero este script es mucho más rápido que un iFrame ya que llama la venta cuando ya está cargada en el código ‘html’.

También este script es útil cuando la venta popUp tiene mucha altura (El scroll sale en el navegador, lo contrario que en un iFrame, el scroll saldría en la propia ventana). Otra ventaja sería que tenemos el control total del evento, es decir, podemos personalizar nuestra ventana popUp a nuestro gusto.

En el ejemplo veréis que he añadido mucho texto para que salga el scroll y poder ver el script con todas sus funcionalidades, el link para “lanzar” el popUp está bajo de todo.

Nota: Este script funciona con TODOS los navegadores incluido el Internet Explorer 6.

Ejemplo: aquí.
Descarga: aquí.

25
mar

Recopilación menús desplegables

Como regla general, la mayoría de los desarrolladores web, especialmente los aficionados en usabilidad, dicen que es una mala práctica usar menús desplegables, ya que son confusos, molestos y muchas veces disfuncional.

Desde un punto de vista de diseño, sin embargo, menús desplegables son una excelente opción, ya que puede ayudar a limpiar una concurrida presentación.

Aquí os dejo una buena recopilación de menús desplegables.

« Anterior página  Siguiente página »