<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Craftyman Blog &#187; JQuery</title>
	<atom:link href="http://craftyman.net/category/desarrollo-web/jquery/http:/craftyman.net/category/desarrollo-web/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://craftyman.net</link>
	<description>Redes Sociales, WordPress, Desarrollo Web, SEO</description>
	<lastBuildDate>Wed, 01 Feb 2012 00:57:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Drag and Drop + Cookies con jQuery</title>
		<link>http://craftyman.net/drag-and-drop-cookies-con-jquery/</link>
		<comments>http://craftyman.net/drag-and-drop-cookies-con-jquery/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 01:06:27 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Destacados]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Drag and Drop]]></category>
		<category><![CDATA[jQuery plugins]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1258</guid>
		<description><![CDATA[Arrastrar y soltar <em>(drag and drop)</em> es una manera de personalizar el orden de módulos específicos de una pagina, ordenar una fila de registros entre otras cosas mas. Centrándonos en el concepto de la Web 2.0 esta es una funcionalidad indispensable para brindar personalización a nuestros usuarios.

<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/drag-and-drop.png" /></div>

En este tutorial implementaremos el Drag and drop en un <a target="_blank" href="http://craftyman.net/tag/html/">HTML</a> logrando mover modulos y guardándolos en cookies, esto para que el usuario al refrescar la pagina tenga su configuración guardada.


<h3>JavaScript</h3>

Necesitaremos incluir las librerías de <a target="_blank" href="http://craftyman.net/category/desarrollo-web/jquery/">jQuery</a>, jQuery UI y jQuery Cookie en nuestro HTML.
[html]
&lt;script type="text/javascript" src="jquery-1.4.2.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery-ui-1.8.custom.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery.cookie.js"&gt;&lt;/script&gt;
[/html]

En el siguiente script declaramos variables y funciones que servirán para recorrer elementos, ordenarlos, y especificar zonas para el drag and drop.

[javascript]
&lt;script type="text/javascript"&gt;
	var divid = 'sidebar';
	var cookiename = 'sidebar-cookie';
	

	function getItems(id){
		return $('#'+id+'-list').sortable('toArray').join(',');
	}
	
	function renderItems(id, itemStr){
		var list = $('#' + id + '-list');
		var items = itemStr.split(',')

		for ( var i in items ){
			html = '&lt;li class="sortable-item';
			html += '" id="' + items[i] + '"&gt;&lt;div class="loader"&gt;&lt;/div&gt;&lt;/li&gt;';
			list.append(html);

			$('#' + items[i]).load('content/' + items[i] + '.html');
		}	
	}

	
	var sidebarSource = 'search,entries,board,topics';
	if($.cookie(cookiename) != null){
		sidebarSource = $.cookie(cookiename);
	}
	
	
$(document).ready(function(){

	renderItems(divid, sidebarSource);

	$('#'+divid+' .sortable-list').sortable({
		axis: 'y',
		containment: 'parent',
		forceHelperSize: true,
		forcePlaceholderSize: true,
		handle: '.section-title',
		opacity: 0.8,
		placeholder: 'placeholder',
		update: function(){
			$.cookie(cookiename, getItems(divid));
		}
	});
});
&lt;/script&gt;
[/javascript]

<p>&nbsp;</p>
<h3>HTML</h3>

El contenedor de los elementos sera un UL, este deberá tener el identificador y clases que pusimos en el Javascript:

[html]
&lt;div class="right sidebar" id="sidebar"&gt;
	&lt;ul class="sortable-list" id="sidebar-list"&gt;&lt;/ul&gt;
&lt;/div&gt;
[/html]

Los módulos cargaran mediante <a target="_blank" href="http://craftyman.net/tag/ajax/">Ajax</a>, y el nombre del html sera igual a la variable declarada:

[javascript]
var sidebarSource = 'search,entries,board,topics';
[/javascript]

<strong>Osea:</strong> tendremos HTML´s de forma: <em>search.html, entries.html, board.html, topics.html</em>.

Los módulos deben manejar un estándar para reconocer zonas de donde hacer el drag and drop.

[html]
&lt;div class="section"&gt;
	&lt;div class="section-title"&gt;Search&lt;/div&gt;
	&lt;div class="section-content"&gt;
		&lt;form method="post" action=""&gt;
			&lt;input type="text" class="text" size="28" /&gt; &nbsp; 
			&lt;input type="submit" class="button" value="Submit" /&gt;
		&lt;/form&gt;
	&lt;/div&gt;
&lt;/div&gt;
[/html]


<a class="example" target="_blank" href="http://devheart.org/examples/jquery-customizable-layout-using-drag-and-drop/3-implementation-in-a-real-design/index.html#ex-3">ver demo</a> - <a class="download" target="_blank" href="http://devheart.org/examples/download/jquery-customizable-layout-using-drag-and-drop/">descargar</a>

Vía: <a target="_blank" href="http://devheart.org/articles/jquery-customizable-layout-using-drag-and-drop/">DevHeart</a>
<p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/drag-and-drop-cookies-con-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Detectar caras con jQuery</title>
		<link>http://craftyman.net/detectar-caras-con-jquery/</link>
		<comments>http://craftyman.net/detectar-caras-con-jquery/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 06:35:25 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Destacados]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[detectar caras]]></category>
		<category><![CDATA[jQuery plugins]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1257</guid>
		<description><![CDATA[<a target="_blank" href="http://facedetection.jaysalvat.com/">jQuery Face Detection</a> es un plugin para jQuery que permite reconocer las caras humanas dentro de una imagen y enmarcarlos, sin duda un impresionante plugin que nos puede servir para etiquetar personas o cubrir rostros que no deberían mostrarse.

Antes de implementarlo en nuestra Web lo que debemos hacer es bajarnos el plugin.
<p>&nbsp;</p>
<a class="download" target="_blank" href="https://github.com/jaysalvat/jquery.facedetection">Descargar Plugin</a>
<p>&nbsp;</p>
<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/facedetection.jpg" /></div>
<h3>Javascript</h3>

Estas librerías realizaran la funcionalidad de detectar las caras, todos son necesarios para el propósito.

[html]
&lt;script src="http://code.jquery.com/jquery-1.4.3.min.js"&gt;&lt;/script&gt; 
&lt;script src="js/facedetection/ccv.js"&gt;&lt;/script&gt; 
&lt;script src="js/facedetection/face.js"&gt;&lt;/script&gt;
&lt;script src="js/jquery.facedetection.js"&gt;&lt;/script&gt; 
[/html]

Este script servirá para guardar las coordenadas de cada rostro en un array de objetos, luego lo recorrera para armar el cuadro que los etiquetara, finalmente insertamos el html generado en un elemento que encierre a la imagen. <em>(Este script debe estar justo antes de cerrar el &lt;/body&gt;)</em>.

[javascript]
&lt;script&gt;
$(function() {	
	var $this = $(this);	
	var coords = $('img').faceDetection();
	
	for (var i = 0; i &lt; coords.length; i++) {
		$('&lt;div&gt;', {
			'class':'face',
			'css': {
				'position':	'absolute',
				'left':		coords[i].positionX +'px',
				'top':		coords[i].positionY +'px',
				'width': 	coords[i].width		+'px',
				'height': 	coords[i].height	+'px'
			}
		})
		.appendTo('#content');
	}
});
&lt;/script&gt;
[/javascript]

<h3>HTML</h3>

Esta es la estructura que debe tener el html de la imagen.

[html]
&lt;div id="content"&gt;	
	&lt;img src="img/faces.jpg" /&gt;	
&lt;/div&gt;
[/html]
<p>&nbsp;</p>
<a class="download" target="_blank" href="https://github.com/jaysalvat/jquery.facedetection">descargar</a>
<p>&nbsp;</p><p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/detectar-caras-con-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Player de Video HTML5: VideoJS</title>
		<link>http://craftyman.net/player-video-html5-videojs/</link>
		<comments>http://craftyman.net/player-video-html5-videojs/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 19:33:49 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Player HTML5]]></category>
		<category><![CDATA[Player Videos]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1223</guid>
		<description><![CDATA[<a target="_blank" href="http://videojs.com/">VideoJS</a> es un Player para reproducir Videos en <a target="_blank" href="http://craftyman.net/tag/html5/">HTML5</a>, esto permite compatibilidad con navegadores móviles y la ventaja de no requerir flash para ver los videos, otra de sus ventajas es que si el navegador no soporta HTML5 automáticamente nos muestra su reproductor en Flash alternativo.
<p>&nbsp;</p>

<div style="text-align:center"><img width="580px" src="http://craftyman.net/wp-content/images/videojs.jpg" /></div>

<p>&nbsp;</p>
<h3>Mejores características</h3>

<ul>
	<li>De Licencia Open Source (libre)</li>
	<li>Realmente ligero (no utiliza imágenes)</li>
	<li>Skins 100%  CSS</li>
	<li>Modo Full Screen y Full Window</li>
	<li>Control de volumen</li>
	<li>Compatible en navegadores móviles</li>
	<li>Incluye skins de Youtube, Vimeo y más.</li>
	<li>Plugins para jQuery y WordPress</li>
</ul>
<p>&nbsp;</p>

<h3>Como funciona?</h3>


Lo primero es descargar la ultima versión de VideoJS, luego descomprimirlo y colocarlo en una carpeta de nuestro servidor local.

<a class="download" target="_blank" href="http://videojs.com/downloads/video-js-1.1.2.zip">Descargar VideoJS</a>
<p>&nbsp;</p>
<h3>Incluir Librerías Javascript y CSS</h3>

El siguiente paso para incluir VideoJS en nuestra pagina web sera el de incluir los archivos <a target="_blank" href="http://craftyman.net/category/desarrollo-web/javascript/">JavaScript</a> y <a target="_blank" href="http://craftyman.net/category/diseno-web/css/">CSS</a>.

<pre name="code" class="html">
&lt;head&gt;
    &lt;script src="video.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;
    &lt;link rel="stylesheet" href="video-js.css" type="text/css" media="screen" title="Video JS" charset="utf-8"&gt;
&lt;/head&gt;
</pre>


Ahora debemos ingresar una función JavaScript que se ejecutara cuando toda la pagina cargue, esto para tener las funcionalidades de VideoJS.

<pre name="code" class="html">
&lt;script type="text/javascript" charset="utf-8"&gt;
VideoJS.setupAllWhenReady();
&lt;/script&gt;
</pre>
<p>&nbsp;</p>

<h3>Estructura del player</h3>

Finalmente dentro del body construimos el player dentro de un div con clase <strong>"video-js-box"</strong> para reconocer la sección.

<pre name="code" class="html">
&lt;div class="video-js-box"&gt;
...
&lt;/div&gt;
</pre>

Dentro de este colocamos el tag <strong>&lt;video&gt;</strong> con sus respectivos atributos y opciones de formato de video.

<pre name="code" class="html">
&lt;video id="example_video_1" class="video-js" width="640" height="264" preload poster="http://video-js.zencoder.com/oceans-clip.png" controls&gt;
  &lt;source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'&gt;
  &lt;source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm; codecs="vp8, vorbis"'&gt;
  &lt;source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg; codecs="theora, vorbis"'&gt;
  
  &lt;!-- Utilizar flash cuando el navegador no soporte HTML5 --&gt;
  
  &lt;object class="vjs-flash-fallback" width="640" height="264" type="application/x-shockwave-flash"
	data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf"&gt;
	&lt;param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" /&gt;
	&lt;param name="allowfullscreen" value="true" /&gt;
	&lt;param name="flashvars" value='config={"playlist":["http://video-js.zencoder.com/oceans-clip.png", {"url": "http://video-js.zencoder.com/oceans-clip.mp4","autoPlay":false,"autoBuffering":true}]}' /&gt;
	
	&lt;!-- Utilizar una imagen al no soportar Flash --&gt;
	&lt;img src="http://video-js.zencoder.com/oceans-clip.png" width="640" height="264" alt="Poster Image"
	  title="No video playback capabilities." /&gt;
  &lt;/object&gt;
  
&lt;/video&gt;

&lt;!-- Opción para descargar el video en caso no se soporte ninguna tecnología. --&gt;

&lt;p class="vjs-no-video"&gt;&lt;strong&gt;Download Video:&lt;/strong&gt;
  &lt;a href="http://video-js.zencoder.com/oceans-clip.mp4"&gt;MP4&lt;/a&gt;,
  &lt;a href="http://video-js.zencoder.com/oceans-clip.webm"&gt;WebM&lt;/a&gt;,
  &lt;a href="http://video-js.zencoder.com/oceans-clip.ogv"&gt;Ogg&lt;/a&gt;&lt;br&gt;
  &lt;!-- Support VideoJS by keeping this link. --&gt;
  &lt;a href="http://videojs.com"&gt;HTML5 Video Player&lt;/a&gt; by VideoJS
&lt;/p&gt;
</pre>

Con esto hemos obtenido un reproductor que soporta diferentes formatos de video, puede cambiar a Flash en caso el navegador no soporte HTML5 y la opción de descargar los videos en diferentes formatos si no se lograra reproducir de ninguna forma.

Pueden ver una demo online de la funcionalidad del reproductor y sus excelentes Skins 100% CSS.

<a class="example" target="_blank" href="http://videojs.com/skins/">Ver demos</a>
<p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/spine-mobile-framework-para-webapps-moviles/" title="Spine Mobile: Framework para WebApps moviles">Spine Mobile: Framework para WebApps moviles</a></li><li class="rltpost"><a href="http://craftyman.net/generador-sprites-css-online/" title="Generador de Sprites CSS online con Stitches">Generador de Sprites CSS online con Stitches</a></li><li class="rltpost"><a href="http://craftyman.net/chuleta-infografia-html5/" title="Chuleta infográfica de HTML5">Chuleta infográfica de HTML5</a></li><li class="rltpost"><a href="http://craftyman.net/top10-juegos-html5/" title="Top 10 juegos hechos con HTML5">Top 10 juegos hechos con HTML5</a></li><li class="rltpost"><a href="http://craftyman.net/nueva-forma-de-embeber-videos-de-youtube/" title="Nueva Forma de Embeber Videos de Youtube">Nueva Forma de Embeber Videos de Youtube</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li><li class="rltpost"><a href="http://craftyman.net/jstorage-plugin-jquery-base-de-datos-html5/" title="jStorage : Plugin jQuery para Base de Datos HTML5">jStorage : Plugin jQuery para Base de Datos HTML</a></li><li class="rltpost"><a href="http://craftyman.net/google-chrome-frame-html5-en-internet-explorer/" title="Google Chrome Frame: HTML5 en Internet Explorer">Google Chrome Frame: HTML5 en Internet Explorer</a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/player-video-html5-videojs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://video-js.zencoder.com/oceans-clip.webm" length="14625011" type="video/webm" />
<enclosure url="http://video-js.zencoder.com/oceans-clip.mp4" length="19448241" type="video/mp4" />
<enclosure url="http://video-js.zencoder.com/oceans-clip.ogv" length="13235468" type="video/ogg" />
		</item>
		<item>
		<title>Widget Twitter con jQuery y @AnyWhere</title>
		<link>http://craftyman.net/widget-twitter-jquery-anywhere/</link>
		<comments>http://craftyman.net/widget-twitter-jquery-anywhere/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 18:47:37 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[AnyWhere]]></category>
		<category><![CDATA[jQuery plugins]]></category>
		<category><![CDATA[Twitter @anywhere]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1157</guid>
		<description><![CDATA[<a target="_blank" href="http://pongsocket.com/tweet-it/">Like it? Tweet it!</a> es un plugin para jQuery el cual genera un widget que permite a los usuarios de tu sitio web tweetear sobre la pagina mediante un widget desplegable que utiliza el nuevo servicio de Twitter: @AnyWhere para realizarlo.

<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/tweetit.jpg" /></div>

Su implementacion es super sencilla, solo tenemos que incluir el siguiente script dentro del head de nuestra pagina web.

<a href="http://www.miempresaenlinea.com/paginas-web/herramientas-y-aplicaciones-para-crear-paginas-de-internet.aspx" target="_blank">Diseñar páginas Web.</a>

<pre class="jscript" name="code">
&lt;script type="text/javascript" src="http://tweet-it.s3.amazonaws.com/tweet-it.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
	$(document).ready(function(){
		$(".tweet-this a").tweetIt();
	})
&lt;/script&gt;
</pre>

Luego dentro del body crearemos un enlace el cual llamara al widget, esta debe tener como clase a <strong>tweet-this</strong> para reconocerlo.

si queremos personalizar una url corta al tweetear agregaremos este script dentro del head.

<pre class="html" name="code">
&lt;link rev="canonical" type="text/html" href="http://bit.ly/whatever" /&gt;
</pre>

Este video es un ejemplo del funcionamiento de este plugin.

<embed width="600" height="281" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=11203466&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=2299dd&amp;fullscreen=1&amp;autoplay=1&amp;loop=1">


Página Oficial: <a target="_blank" href="http://pongsocket.com/tweet-it/">Like it? Tweet it!</a>



<p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/twitter-anywhere/" title="Todo sobre Twitter @anywhere">Todo sobre Twitter @anywhere</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/widget-twitter-jquery-anywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gvChart: Gráficos con Google Charts y jQuery</title>
		<link>http://craftyman.net/gvchart-graficos-google-charts-jquery/</link>
		<comments>http://craftyman.net/gvchart-graficos-google-charts-jquery/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 21:24:19 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Google Charts]]></category>
		<category><![CDATA[jQuery plugins]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1161</guid>
		<description><![CDATA[<a target="_blank" href="http://www.ivellios.toron.pl/technikalia/2010/06/22/gvchart-plugin-jquery-with-google-charts/">gvChat</a> es un plugin para jQuery que utiliza la librería <a target="_blank" href="http://code.google.com/intl/pl-PL/apis/charttools/index.html">Google Charts</a> para trabajar con gráficos estadísticos <em>(Area, Lineal, Barras, Columnas y Pie)</em> en nuestros proyectos.

Para crear estos gráficos solo hace falta plasmarlos en una tabla HTML y el plugin se encargara de todo, con algunas configuraciones podemos personalizarlo.

<a target="_blank" href="http://www.miempresaenlinea.com/dominios/dominiosmx.aspx">Dominios y Hosting</a>

<h3>Estructura HTML.</h3>

Esta estructura será la que utilizaremos como estándar para generar nuestros gráficos.

<pre name="code" class="html">
&lt;table id="myTable" style="display: none;"&gt;
    &lt;caption&gt;Game players count&lt;/caption&gt;
    &lt;thead&gt;
        &lt;tr&gt;
            &lt;th&gt;&lt;/th&gt;
            &lt;th&gt;Jan&lt;/th&gt;
            &lt;th&gt;Feb&lt;/th&gt;
            &lt;th&gt;Mar&lt;/th&gt;
            &lt;th&gt;Apr&lt;/th&gt;
            &lt;th&gt;May&lt;/th&gt;
            &lt;th&gt;Jun&lt;/th&gt;
            &lt;th&gt;Jul&lt;/th&gt;
            &lt;th&gt;Aug&lt;/th&gt;
            &lt;th&gt;Sep&lt;/th&gt;
            &lt;th&gt;Oct&lt;/th&gt;
            &lt;th&gt;Nov&lt;/th&gt;
            &lt;th&gt;Dec&lt;/th&gt;
        &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;th&gt;2010&lt;/th&gt;
            &lt;td&gt;125&lt;/td&gt;
            &lt;td&gt;185&lt;/td&gt;
            &lt;td&gt;327&lt;/td&gt;
            &lt;td&gt;359&lt;/td&gt;
            &lt;td&gt;376&lt;/td&gt;
            &lt;td&gt;398&lt;/td&gt;
            &lt;td&gt;0&lt;/td&gt;
            &lt;td&gt;0&lt;/td&gt;
            &lt;td&gt;0&lt;/td&gt;
            &lt;td&gt;0&lt;/td&gt;
            &lt;td&gt;0&lt;/td&gt;
            &lt;td&gt;0&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;th&gt;2009&lt;/th&gt;
            &lt;td&gt;1167&lt;/td&gt;
            &lt;td&gt;1110&lt;/td&gt;
            &lt;td&gt;691&lt;/td&gt;
            &lt;td&gt;165&lt;/td&gt;
            &lt;td&gt;135&lt;/td&gt;
            &lt;td&gt;157&lt;/td&gt;
            &lt;td&gt;139&lt;/td&gt;
            &lt;td&gt;136&lt;/td&gt;
            &lt;td&gt;938&lt;/td&gt;
            &lt;td&gt;1120&lt;/td&gt;
            &lt;td&gt;55&lt;/td&gt;
            &lt;td&gt;55&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
</pre>

<h3>Incluir los JavaScript</h3>

Utilizaremos la librería de Google Charts, jQuery y gvChart.

<pre name="code" class="html">
&lt;script type="text/javascript" src="http://www.google.com/jsapi"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery.gvChart-0.1.min.js"&gt;&lt;/script&gt;
</pre>

<pre name="code" class="jscript">
&lt;script type="text/javascript"&gt;
    gvChartInit();
    jQuery('#myTable').gvChart({
        chartType: 'ColumnChart',
        gvSettings: {
            vAxis: {title: 'No of players'},
            hAxis: {title: 'Month'},
            width: 720,
            height: 300,
            }
    });
&lt;/script&gt;
</pre>

<strong>chartType:</strong> Podemos cambiar de tipos de gráficos, estos son los permitidos:

<ul>
	<li>AreaChart</li>
	<li>LineChart</li>
	<li>BarChart</li>
	<li>ColumnChart</li>
	<li>PieChart</li>
</ul>


<h3>Ejemplo de gvChart AreaChart</h3>

<iframe src="http://craftyman.net/demos/gvchart/" width="520" height="320"></iframe>
<p>&nbsp;</p>

<p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/gvchart-graficos-google-charts-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eliminar registros con AJAX y jQuery</title>
		<link>http://craftyman.net/eliminar-registros-ajax-jquery/</link>
		<comments>http://craftyman.net/eliminar-registros-ajax-jquery/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 05:01:42 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Destacados]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Eliminar registros jquery]]></category>
		<category><![CDATA[jQuery plugins]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1121</guid>
		<description><![CDATA[Una manera para no recargar toda la <a target="_blank" href="http://craftyman.net/facebook-like-button-para-blogger/">página web</a> al momento de eliminar algún registro de nuestra base de datos, es realizándolo con Ajax, para que sea un poco más animado e intuitivo para el usuario, podemos iluminar el registro a eliminar indicando que esta desapareciendo, como lo hace WordPress al eliminar comentarios.

<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/animateddelete.jpg" /></div>

Para nuestro ejemplo tendremos que incluir estos scripts en nuestro HTML:

<pre name="code" class="jscript">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="jquery.color.js"></script>
<script>
$(document).ready(function() {
	
	$('a.delete').click(function(e) {
		if(confirm('Seguro de Eliminar este registro?')){
			e.preventDefault();
			var parent = $(this).parent();
			$.ajax({
				type: 'get',
				url: 'index.php',
				data: 'ajax=1&delete=' + parent.attr('id').replace('record-',''),
				beforeSend: function() {
					parent.animate({'backgroundColor':'#fb6c6c'},300);
				},
				success: function() {
					parent.slideUp(300,function() {
						parent.remove();
					});
				}
			});
		}
	});
	
	
});
</script></pre>

Luego seguiremos dándole algún estilo con CSS a las filas.

<pre name="code" class="css"><style>
body{
font-size:12px;
font-family:Verdana;
}
.record {
background:none repeat scroll 0 0 #EEEEEE;
border-top:1px solid #CCCCCC;
padding:10px;
width:400px;
}
.delete {
color:#FF0000;
display:block;
float:right;
}

</style></pre>


Esta seria la estructura HTML a utilizar para nuestro ejemplo, tendríamos que hacerlas dinámicas en un caso real, jalar de la base de datos y recorrer los registros.

<pre name="code" class="html"><div id="content">		
	<div id="record-1" class="record">
		<a class="delete" href="?delete=1">Eliminar</a>
		<strong>Registro 1</strong>
	</div>
	<div id="record-2" class="record">
		<a class="delete" href="?delete=2">Eliminar</a>
		<strong>Registro 2</strong>
	</div>
</div></pre>

Con esto podemos probar nuestra funcionalidad.

<h3>Demo</h3>

<iframe src="http://craftyman.net/demos/animated-ajax-jquery/" width="490" height="300"></iframe>

<div style="text-align:center">
<a class="download" target="_blank" href="http://www.box.net/shared/g1jlqlmg5x">Descargar Demo</a>
</div><p>&nbsp;</p>

Post original: <a target="_blank" href="http://bit.ly/9sDd62">Animated AJAX Deletion using jQuery</a>
<p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/eliminar-registros-ajax-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SliderNav: Lista de contactos iPhone con jQuery y CSS</title>
		<link>http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/</link>
		<comments>http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 03:09:38 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[jQuery plugins]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1116</guid>
		<description><![CDATA[<a target="_blank" href="http://bit.ly/cy5eBj">SliderNav </a> es un plugin para jQuery desarrollado por DevGrow que permite mediante una barra de navegación vertical el deslizamiento de contenido, se establece el contenido mediante secciones y pueden rotar con la rueda del mouse.

<a target="_blank" href="http://www.miempresaenlinea.com/web-hosting/asp-planes-de-hosting-asp-en-mexico.aspx">ASP Hosting</a>

<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/slidernav.jpg" /></div>
<h3>Ejemplo SliderNav</h3>

<div style="text-align:center">
<iframe src="http://craftyman.net/demos/appleslider/" width="380px" height="315px"></iframe>
</div>
<p>&nbsp;</p>

Para implementar este Slider en nuestra Web, debemos de seguir estos pasos:

<h3>Paso 1: Incluir los archivos JavaScript y CSS en la cabecera.</h3>

Para nuestro ejemplo utilizaremos la librería jQuery y slidernav, luego inicializamos la función.

<pre name="code" class="html">
&lt;link rel="stylesheet" type="text/css" href="slidernav.css" media="screen, projection" /&gt;
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript" src="slidernav-min.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$('#slider').sliderNav();		
	});
</script>
</pre>


<h3>Paso 2: Crear la estructura HTML.</h3>

Tenemos total flexibilidad en este Slider, podemos cambiar las letras del alfabeto por secciones según nuestra necesidad.

<pre name="code" class="html">
<div id="slider">
    <div class="slider-content">
        <ul>
            <li id="a"><a name="a" class="title">A</a>
                <ul>
                    <li><a href="/">Adam</a></li>
                    <li><a href="/">Alex</a></li>
                    <li><a href="/">Ali</a></li>
                    <li><a href="/">Apple</a></li>
                    <li><a href="/">Arthur</a></li>
                    <li><a href="/">Ashley</a></li>
                </ul>
            </li>
            <li id="b"><a name="b" class="title">B</a>
                <ul>
                    <li><a href="/">Barry</a></li>
                    <li><a href="/">Becky</a></li>
                    <li><a href="/">Biff</a></li>
                    <li><a href="/">Billy</a></li>
                    <li><a href="/">Bozarking</a></li>
                    <li><a href="/">Bryan</a></li>
                </ul>
            </li>
            etc...
        </ul>
    </div>
</div>
</pre>

Post original: <a target="_blank" href="http://bit.ly/cy5eBj">DevGrow</a>

<div style="text-align:center">
<a class="download" target="_blank" href="http://devgrow.com/slidernav-jquery-plugin/slidernav.zip">Descargar</a>
</div><p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MultiSelect con CSS y jQuery UI</title>
		<link>http://craftyman.net/multiselect-con-css-y-jquery-ui/</link>
		<comments>http://craftyman.net/multiselect-con-css-y-jquery-ui/#comments</comments>
		<pubDate>Thu, 20 May 2010 19:42:24 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Destacados]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[jQuery plugins]]></category>
		<category><![CDATA[MultiSelect jQuery]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1109</guid>
		<description><![CDATA[Los MultiSelect sirven para poder elegir varios items de un select, estos son muy complicados de utilizar debido a su facilidad de seleccionar y deseleccionar, para esto podemos utilizar este <a target="_blank" href="http://quasipartikel.at/2009/05/10/jqueryui-multiselect/">plugin de jQuery</a> que nos permite incluso ordenar y filtrar items de un MultiSelect.

<a target="_blank" href="http://www.miempresaenlinea.com/web-hosting/mysql-php-hosting-con-bases-de-datos.aspx">MySQL, PHP Hosting</a>

<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/multiselect.jpg" /></div>

<h3>1. Incluir las librerías JavaScript y CSS</h3>

<pre name="code" class="html">
&lt;link type="text/css" rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/ui.all.css" /&gt;
&lt;link type="text/css" href="css/ui.multiselect.css" rel="stylesheet" /&gt;
&lt;script type="text/javascript" src="js/jquery-1.4.2.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/ui.multiselect.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
    $(function(){
        $.localise('ui-multiselect', {path: 'js/'});
        $(".multiselect").multiselect();        
    });
&lt;/script&gt;
</pre>


<h3>2. Estructura HTML</h3>

<pre name="code" class="html">
<select id="tags" name="tags[]" class="multiselect" multiple="multiple" >
    <option value="css">CSS</option>
    <option value="php">PHP</option>
    <option value="javascript">JavaScript</option>
    <option value="seo">SEO</option>
    <option value="wordpress">WordPress</option>
    <option value="socialmedia">SocialMedia</option>
</select>
</pre>

Esto es todo lo que necesitamos para nuestro demo.

<h3>Ejemplo de MultiSelect con jQuery</h3>

<iframe src="http://craftyman.net/demos/multiselect" width="560px" height="240px"></iframe>

<div style="text-align:center"><a class="download" target="_blank" href="http://www.box.net/shared/xpb8hou58z">Descargar Ejemplo</a></div><p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/" title="jConfirmAction : Plugin jQuery para cuadros de confirmación">jConfirmAction : Plugin jQuery para cuadros de c</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/multiselect-con-css-y-jquery-ui/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Acordeón con CSS y jQuery</title>
		<link>http://craftyman.net/acordeon-con-css-y-jquery/</link>
		<comments>http://craftyman.net/acordeon-con-css-y-jquery/#comments</comments>
		<pubDate>Mon, 17 May 2010 18:12:22 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Destacados]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Accordion CSS]]></category>
		<category><![CDATA[Accordion jQuery]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1107</guid>
		<description><![CDATA[Los Accordions <em>(acordeones)</em> son muy utiles para la organización de contenido en una página web, este acordeón es una creación de <a target="_blank" href="http://www.sohtanaka.com/web-design/simple-accordion-w-css-and-jquery/">SOHTANAKA </a> y este tutorial les explicara detalladamente como implementar un simple acordeón con CSS y jQuery, muy ligero ya que esta hecha desde cero.

<h3>Paso 1: Estructura HTML.</h3>

Primero tenemos que crear la estructura HTML estableciendo los contenidos y secciones para el acordeón.

[html]
&lt;h2 class="acc_trigger"&gt;
	&lt;a href="#"&gt;Sección #1&lt;/a&gt;&lt;/h2&gt; 
&lt;div class="acc_container"&gt; 
	&lt;div class="block"&gt; 
		&lt;!--Contenido--&gt;
	&lt;/div&gt; 
&lt;/div&gt; 

&lt;h2 class="acc_trigger"&gt;
	&lt;a href="#"&gt;Sección #2&lt;/a&gt;&lt;/h2&gt; 
&lt;div class="acc_container"&gt; 
	&lt;div class="block"&gt; 
		&lt;!--Contenido--&gt;
	&lt;/div&gt; 
&lt;/div&gt;

&lt;!--Más secciones--&gt;
[/html]

<h3>Paso 2: Incluir el CSS.</h3>

El siguiente código CSS dara una buena apariencia al acordeón.

[css]
&lt;style type="text/css"&gt;
.container {
	width: 500px;
	margin: 0 auto;
}
h2.acc_trigger {
	padding: 0;	margin: 0 0 5px 0;
	background: url(h2_trigger_a.gif) no-repeat;
	height: 46px;	line-height: 46px;
	width: 500px;
	font-size: 2em;
	font-weight: normal;
	float: left;
}
h2.acc_trigger a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 0 0 0 50px;
}
h2.acc_trigger a:hover {
	color: #ccc;
}
h2.active {background-position: left bottom;}
.acc_container {
	margin: 0 0 5px; padding: 0;
	overflow: hidden;
	font-size: 1.2em;
	width: 500px;
	clear: both;
	background: #f0f0f0;
	border: 1px solid #d6d6d6;
	-webkit-border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-bottomright: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}
.acc_container .block {
	padding: 20px;
}
&lt;/style&gt;
[/css]

Imagen: h2_trigger_a.gif
 
<div style="text-align:center"><img width="500px" src="http://www.sohtanaka.com/web-design/examples/accordion/h2_trigger_a.gif" /></div>

<h3>Paso 3: Incluir la librería jQuery y función JavaScript.</h3>

Incluiremos la librería jQuery y colocamos seguidamente el script que dara la funcionlidad de acordeón.

[javascript]
&lt;script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
$(document).ready(function(){
	
$('.acc_container').hide();
$('.acc_trigger:first')
	.addClass('active')
	.next()
	.show();
 
$('.acc_trigger').click(function(){
	if( $(this).next().is(':hidden') ) {
		$('.acc_trigger')
			.removeClass('active')
			.next()
			.slideUp();
		$(this).toggleClass('active')
			.next()
			.slideDown();
	}
	return false;
});
 
});
&lt;/script&gt;
[/javascript]

<h3>Ejemplo del Accordion</h3>

<iframe src="http://craftyman.net/demos/acordeonjquery/" width="540px" height="430px"></iframe><p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/top-10-librerias-graficos-php/" title="Top 10 librerías para gráficos en php">Top 10 librerías para gráficos en php</a></li><li class="rltpost"><a href="http://craftyman.net/5-librerias-para-generar-pdf-con-php/" title="5 librerías para generar PDF con PHP">5 librerías para generar PDF con PHP</a></li><li class="rltpost"><a href="http://craftyman.net/mvc-en-php/" title="Tutorial MVC con PHP">Tutorial MVC con PHP</a></li><li class="rltpost"><a href="http://craftyman.net/tabs-css-simples-con-jquery/" title="Tabs CSS simples con jQuery">Tabs CSS simples con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/mostrar-archivos-ocultos-en-mac/" title="Mostrar archivos ocultos en Mac">Mostrar archivos ocultos en Mac</a></li><li class="rltpost"><a href="http://craftyman.net/20-plantillas-css-gratuitas/" title="20 Plantillas CSS Gratuitas">20 Plantillas CSS Gratuitas</a></li><li class="rltpost"><a href="http://craftyman.net/el-mejor-ide-para-php/" title="El mejor IDE para PHP">El mejor IDE para PHP</a></li><li class="rltpost"><a href="http://craftyman.net/10-excelentes-plugins-jquery-para-formularios/" title="10 Excelentes plugins jQuery para formularios">10 Excelentes plugins jQuery para formularios</a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/acordeon-con-css-y-jquery/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>jConfirmAction : Plugin jQuery para cuadros de confirmación</title>
		<link>http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/</link>
		<comments>http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/#comments</comments>
		<pubDate>Wed, 12 May 2010 04:13:28 +0000</pubDate>
		<dc:creator>craftyman</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Destacados]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[jQuery plugins]]></category>

		<guid isPermaLink="false">http://craftyman.net/?p=1104</guid>
		<description><![CDATA[<a target="_blank" href="http://webstuffshare.com/demo/jConfirmAction/">jConfirmAction</a> es un plugin para jQuery que reemplazara el típico cuadro de confirmación que realizamos con la función JavaSCript confirm('Aceptar o rechazar?').

La funcionalidad básicamente de este plugin es crear un div que contiene un cuadro de confirmación personalizado, aparece y desaparece con un suave efecto.

<a href="http://www.miempresaenlinea.com/crear-pagina-web.aspx" target="_blank">página web</a>

<div style="text-align:center"><img src="http://craftyman.net/wp-content/images/jconfirmation-box.jpg" /></div>

<strong>Para incluir este plugin jQuery solo debemos seguir estos pasos:</strong>

<a target="_blank" href="http://webstuffshare.com/demo/jConfirmAction/">Bajar jConfirmAction</a> e incluir el script en un archivo .html para hacer las pruebas.

<pre name="code" class="html">
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jconfirmaction.jquery.js"></script>
<script type="text/javascript">
	
	$(document).ready(function() {
		$('.confirmation').jConfirmAction({
                        question : "Seguro de Eliminar?", 
			yesAnswer : "Si", 
			cancelAnswer : "No"});	
	});
	
</script>
</pre>

Como vemos esta función sera llamada para los elementos que contengan la clase .confirmation como el siguiente HTML:

<pre name="code" class="html">
<a class="confirmation" href="del.php">Eliminar</a>
</pre>

Si aceptamos el cuadro de confirmación nos llevara a la dirección establecida en el href, sino cancelara la llamada
<p>&nbsp;</p><h3  class="related_post_title">Post Relacionados</h3><ul class="related_post"><li class="rltpost"><a href="http://craftyman.net/drag-and-drop-cookies-con-jquery/" title="Drag and Drop + Cookies con jQuery">Drag and Drop + Cookies con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/detectar-caras-con-jquery/" title="Detectar caras con jQuery">Detectar caras con jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/widget-twitter-jquery-anywhere/" title="Widget Twitter con jQuery y @AnyWhere">Widget Twitter con jQuery y @AnyWhere</a></li><li class="rltpost"><a href="http://craftyman.net/gvchart-graficos-google-charts-jquery/" title="gvChart: Gráficos con Google Charts y jQuery">gvChart: Gráficos con Google Charts y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/eliminar-registros-ajax-jquery/" title="Eliminar registros con AJAX y jQuery">Eliminar registros con AJAX y jQuery</a></li><li class="rltpost"><a href="http://craftyman.net/slidernav-lista-de-contactos-iphone-con-jquery-y-css/" title="SliderNav: Lista de contactos iPhone con jQuery y CSS">SliderNav: Lista de contactos iPhone con jQuery </a></li><li class="rltpost"><a href="http://craftyman.net/multiselect-con-css-y-jquery-ui/" title="MultiSelect con CSS y jQuery UI">MultiSelect con CSS y jQuery UI</a></li><li class="rltpost"><a href="http://craftyman.net/reproductor-multimedia-open-source-jquery-html5/" title="Reproductor Multimedia Open Source con jQuery y HTML5">Reproductor Multimedia Open Source con jQuery y </a></li></ul>]]></description>
		<wfw:commentRss>http://craftyman.net/jconfirmaction-plugin-jquery-para-cuadros-de-confirmacion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

