Archive for the JQuery Category
Posted on July 21, 2010 by Damian
Hoy les traigo un pequeño recopilatorio de JQuery code snippets que hacen la vida más fácil. Aunque para la mayoría de estos ejemplos existen extensos plugins que hacen lo mismo, con unas simples lineas de código podemos realizar lo mismo y a su vez aprendemos como funciona.
Posted on June 15, 2010 by Damian
Buenas tardes!! Como ven sigo experimentando y haciendo plugins para JQuery.
Hoy se me dio por hacer uno bastante gracioso basado en las explicaciones de lanrat acerca de como construir un cubo usando las nuevas propiedades CSS.

Su utilización es muy sencilla, tan solo necesitamos 3 objetos ( las caras visibles del cubo) dentro de un objeto contenedor. Dichos objetos pueden ser links , imágenes, otros divs, etc
<div class="cube">
<div><img src="1.jpg" /></div>
<div><img src="2.jpg" /></div>
<div><img src="3.jpg" /></div>
</div>
Una vez que tenemos nuestra estructura HTML armada debemos aplicar el plugin de la siguiente forma:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jcubeit.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.cube').JcubeiT();
});
</script>
Y voila!! Tendremos un cubo perfecto con el cual podremos hacer un poco más original nuestros diseños.
El plugin posee algunos valores por defecto que se pueden cambiar pasando opciones.
- size:’200px’
- background: ‘#666′
- border: true
- borderColor: ‘#000′
- rounded: false
Podemos cambiar estos valores pasando las opciones como se suele hacer en JQuery
var opciones={ size:'100px' , border: false};
$('.cube').JcubeiT(opciones);
//o simplemente
$('.cube').JcubeiT({ size:'100px' , border: false});
Jugando con las opciones podremos crear por ejemplo una barra de menu más original

Pueden ver el ejemplo online o descargarse el código desde la página oficial de JQuery
ENGLISH
Hello!As you see im still experiencing and doing plugins for JQuery
Today I did a pretty funny one based on the explanations of lanrat about how to build a cube using new CSS properties.

Its use is very simple, you only need 3 objects (the visible faces of the cube) inside of a container object. Such objects could be links, images, other divs, etc.
<div class="cube">
<div><img src="1.jpg" /></div>
<div><img src="2.jpg" /></div>
<div><img src="3.jpg" /></div>
</div>
Once we have our HTML structure we have to apply the plugin like this:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jcubeit.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.cube').JcubeiT();
});
</script>
And voila! We will have a perfect cube to be a little more original in our designs.
The plugin has some defaults values that can be changed via the options var.
- size:’200px’
- background: ‘#666′
- border: true
- borderColor: ‘#000′
- rounded: false
We may change these values from the options as is usually done in JQuery
var opciones={ size:'100px' , border: false};
$('.cube').JcubeiT(opciones);
//or just
$('.cube').JcubeiT({ size:'100px' , border: false});
Playing with the options we can create for example a more original menu bar

You can check the online demo or download the plugin from JQuery
Posted on May 1, 2010 by Damian
Download JQuery nightMode Plugin
/////////////////////////ESPAÑOL //////////////////////
Anoche estaba aburrido y me puse a trabajar en un plugin para JQuery ya que nunca habia echo ninguno . Así nacio nightMode Plugin que es simplemente un script chiquitito que cambia el color de las letras y el fondo de pantalla. Con eso logramos ahorrar un poco de energia apagando algunos pixeles de nuestra pantalla y además nos facilita la lectura. Espero que les guste!!
El color tanto de las letras o el fondo se puede cambiar pasando opciones.
Uso:
<a id="nightmode">Turn nightmode On/off</a>
$(document).ready(function(){
$('#nightmode').click(function(){
$('body').nightMode();
});
});
Tan solo cambiar body por cualquier selector válido
También se puede ejecutar con opciones
var options={
color: '#ffffff',
background:'#ccc'
}
$('body').nightMode(options);
Pueden probar como funciona haciendo click en la lamparita que aparece en la parte superior derecha de mi blog
Descargar JQuery nightMode Plugin
////////////////////////ENGLISH/////////////////////////////
JQuery nightMode Plugin its a funny tiny plugin that will allow you to change your background and letter colors for a night mode. Saving energy turning off pixels of your screen and allowing you to have a confortable read .
Letter colors and background can be moddified by options
Ussage:
<a id="nightmode">Turn nightmode On/off</a>
$(document).ready(function(){
$('#nightmode').click(function(){
$('body').nightMode();
});
});
Just change body to any valid selector you wish
Can also be called with options:
var options={
color: '#ffffff',
background:'#ccc'
}
$('body').nightMode(options);
You can try how it works by clicking on the light bulb on the top right corner of my blog 
Download JQuery nightMode Plugin
Posted on April 6, 2010 by Damian
Hace un tiempo escribí un post acerca de los acentos y caracteres especiales con AJAX y JQuery que explicaba como salvar este problema en los formularios enviados por AJAX.
El problema es que esta solución no abarca cuando con JQuery hacemos un .load() de información con AJAX y para variar nos salen cuadraditos o rombos negros con un signo de interrogación adentro. con caracteres como á, é, í, ó, ú ,Á, É, Í, Ó, Ú, ñ, Ñ ,º ,ö, Ö, ü, Ü, etc
Para salvar esto tan solo tenemos que configurar JQuery.ajax() de la siguiente forma:
$.ajaxSetup({
'beforeSend' : function(xhr) {
xhr.overrideMimeType('text/html; charset=iso-8859-1');
}
});
Con esa opción forzamos que el encabezado de respuesta sea iso-8859-1 y no UTF-8.
UPDATE:
Este método solo funciona con FF ya que IE no soporta xhr.overrideMimeType como bien comento Ignacio en los comentarios. Una forma de solucionar esto es hacer lo siguiente:
Modificar el codigo inicial
$.ajaxSetup({
'beforeSend' : function(xhr) {
try{
xhr.overrideMimeType('text/html; charset=iso-8859-1');
}
catch(e){
}
}});
Y luego hay que agregar en nuestro archivo PHP
<?php header( 'Content-type: text/html; charset=iso-8859-1' );?>
Mandando el encabezado con PHP lograremos que funcione en IE. Un saludo , hagan pruebas y comenten que yo no tuve mucho tiempo.
UPDATE II:
Ignacio comenta que para ASP habria que usar el metodo :
Response.ContentType=”text/html; charset=iso-8859-1?
Un saludo espero que les haya servido de ayuda.
Posted on September 30, 2009 by Damian
Los selects anidados o dependent cascading selects como dicen los ingleses , son usados hoy en día en la mayoria de formularios cuando nos registramos en una web. El ejemplo más comun es a la hora de elegir nuestro pais de procedencia , donde seguidamente carga en otro select las provincias de dicho pais. El otro día precísamente publique un listado completo de paises + provincias.
Hacer esto con JQuery es más que sencillo. Tan solo necesitaremos 3 archivos:
index.php Donde tendremos un formulario simple con sus correspondientes selects.
<script type="text/javascript" src="cargarProvincias.js"></script>
<script type="text/javascript" src="../jquery.js"></script>
<?
include_once ('db.php');
$conn= get_db_conn();
$paises=mysql_query("SELECT * from paises",$conn);
?>
<form id="form" action="" method="post" class="niceform">
<dl><dt> <label><span class="rojo">*</span> Pais :</label></dt>
<dd> <select name="pais" id="pais" onchange="cargarProvincias();" />
<option value="null">Selecciona un pais</option>
<? while($row=mysql_fetch_assoc($paises)){
print '<option value="'.$row['id'].'" >'.$row['pais'].'</option>';
}?>
</select>
</dd>
</dl>
<dl><dt> <label><span class="rojo">*</span> Provincia :</label></dt>
<dd> <select name="provincia" id="provincia" />
<option value="null">Selecciona un pais</option>
</select></dd>
</dl>
</form>
Un archivo encargado de buscar las provincias según el pais indicado. Primero se conectará a la base de datos, y luego devolverá los resultados.
ajax_provincias.php
<?
include_once ('db.php');
$conn= get_db_conn();
?>
<?
$conn=get_db_conn();
$pais= cleanQuery($_GET['pais']);
$provincias=mysql_query("SELECT * FROM estados WHERE relacion = '$pais'",$conn);
?><?
while( $row= mysql_fetch_assoc($provincias)){
echo '<option value="'.$row['id'].'">'.$row['estado'].'</option>';
}
?>
Y por último el código JQuery que hará la magia de pasar el Pais seleccionado al archivo ajax_provincias.php mediante AJAX y luego cargará los valores devueltos dentro del segundo SELECT
cargarProvincias.js
function cargarProvincias(){
$('#provincia').html('<option selected>Cargando</option>');
var idPais= $('#pais').val();
var toLoad= 'cargar_provincias.php?pais='+ idPais ;
$.post(toLoad,function (responseText){
$('#provincia').html(responseText);
});
}
Para terminar , le pueden echar una ojeada al DEMO ONLINE
Y descargar el código del ejemplo.
Posted on August 15, 2009 by Damian
Hoy les voy a explicar como crear un formulario AJAX para nuestra página de lanzamiento y así poder crear una base de datos con los emails de nuestros visitantes que quieren manternerse actualizados con novedades, etc.

Siguiendo la estructura básica de una web vamos a necesitar varios archivos para lo que queremos hacer:
Como ya tenemos definido el archivo db.php tal y como se explico en su día , pasamos al archivo ajax_usuarios.php
<?php
// compruena la variable $_POST
if(isset($_POST['email']) && $_POST['email']!= ''){
/* Conectamos a la base de datos */
include('config/db.php');
$conn=get_db_conn();
/* Protejo SQL injection */
$email = cleanQuery($_POST['email']);
/* Realizo consulta SQL */
$query = "INSERT INTO listado_emails (email) VALUES ('$email')";
mysql_query($query,$conn);
// Mensaje de respuesta
echo $email .' fue ingresado a la base de datos correctamente!!!!!!';
} else {
// En caso de q la variable no este iniciado o no tenga caracteres el mensaje de respuesta es el siguiente
echo 'Hubo un error, intenta otra ves.';
}
?>
El código de index.php también va a cambiar ya que agregamos nuevos plugins de JQuery y el formulario para ingresar emails
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Timersys</title>
<link href="css/estilo.css" rel="stylesheet" type="text/css" />
<link href="css/jqtransform.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../jquery.js"></script>
<script type="text/javascript" src="js/jquery.epiclock.min.js"></script>
<script type="text/javascript" src="js/jquery.corners.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript" src="js/jquery.jqtransform.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// Cuenta atras
jQuery('#text').epiclock({mode: EC_COUNTDOWN, format: 'V{<sup>dias</sup>} x{<sup>horas</sup>} i{<sup>minutos</sup>} s{<sup>segundos</sup>}', target: 'January 1, 2012 00:00:00'}).clocks(EC_RUN);
//Esquinas redondeadas
$('.rounded').corners('transparent');
//Transformar el formulario
$("form.jqtransform").jqTransform();
// definimos las opciones del plugin AJAX FORM
var opciones= {
success: mostrarRespuesta //funcion que se ejecuta una vez enviado el formulario
};
//asignamos el plugin ajaxForm al formulario email_list y le pasamos las opciones
$('#email_list').ajaxForm(opciones) ;
//lugar donde defino las funciones que utilizo dentro de "opciones"
function mostrarRespuesta (responseText){
$("#update").fadeOut("slow"); // Hago desaparecer el formulario
$("#succes").fadeIn("slow").html(responseText); //muestro mensaje
};
});
</script>
</head>
<body>
<div id="header">
<h3>Como crear una Página de lanzamiento. Más tutoriales en: <a href="http://blog.timersys.com">http://blog.timersys.com</a> </h3>
</div>
<div id="wrapper">
<div id="cuadro2" class="rounded">
<div id="text" class="count_down"></div>
</div>
<div id="update">
<form id="email_list" class="jqtransform" action="ajax_usuarios.php" method="post">
<input type="text" class="input_text" name="email" value="Ingresa tu email para recibir actualizaciones" onclick="this.select();" />
<input type="submit" value="ENVIAR" class="input_button" />
</form>
</div>
<div id="succes"></div>
</div>
</body>
</html>
Con esto y un poco de código CSS ya tendriamos nuestra página de lanzamiento lista , y ademas podriamos juntar una base de datos con emails de los usuarios para poder enviarles actualizaciones.
Como siempre pueden ver el EJEMPLO TERMINADO
Y descargar el código fuente .( Recuerden de editar el archivo db.php con los datos de su propia base de datos y crear las tablas necesarias)
« Older Entries