<?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>Haciendo Web &#187; jQuery</title>
	<atom:link href="http://www.haciendoweb.cult.cu/categorias/tutoriales/jquery-tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.haciendoweb.cult.cu</link>
	<description>Mejorando la Intranet Cubana</description>
	<lastBuildDate>Wed, 22 May 2013 14:47:43 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Uso de jQuery para presentar y filtrar datos en tablas</title>
		<link>http://www.haciendoweb.cult.cu/uso-de-jquery-para-presentar-y-filtrar-datos-en-tablas/</link>
		<comments>http://www.haciendoweb.cult.cu/uso-de-jquery-para-presentar-y-filtrar-datos-en-tablas/#comments</comments>
		<pubDate>Thu, 31 Jan 2013 19:30:03 +0000</pubDate>
		<dc:creator>Odecte Rodríguez Madruga</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[tabla]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=11547</guid>
		<description><![CDATA[
Cuando en un proyecto se presenta la necesidad de mostrar y manejar grandes cantidades de datos, las tablas suelen ser los elementos más adecuados para llevar a cabo su presentación. Si bien, el uso de tablas para la maquetación de sitios ha sido satanizado en los últimos años, su función de despliegue y acomodo de [...]]]></description>
			<content:encoded><![CDATA[<div id="text">
<p><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2013/01/jquery_logo_color_onwhite.png"><img class="alignleft size-medium wp-image-11548" title="Logo jQuery" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2013/01/jquery_logo_color_onwhite-300x73.png" alt="Logotipo de jQuery" width="300" height="73" /></a>Cuando en un proyecto se presenta la necesidad de mostrar y manejar grandes cantidades de datos, las tablas suelen ser los elementos más adecuados para llevar a cabo su presentación. Si bien, el uso de tablas para la maquetación de sitios ha sido satanizado en los últimos años, su función de despliegue y acomodo de información sigue cumpliendo un papel muy importante para el manejo de contenido.</p>
<p>Cuando este contenido tiende a extenderse demasiado, es recomendable buscar implementar algún tipo de funcionalidad que le permita al usuario filtrar la información, para que de esa manera pueda encontrar de manera más rápida lo que esta buscando. Para lograr esto, se puede recurrir a peticiones a servidor mediante algún lenguaje como PHP, también se puede recurrir a ajax para agregar dinamismo, o simplemente utilizar jQuery para depurar los datos que ya han sido desplegados en la tabla.<span id="more-11547"></span></p>
<p>Para poder llevar a cabo una sencilla pero eficiente filtración de datos, en este artículo haremos uso de la librería jQuery, explicando cada paso necesario para llegar a la estructura adecuada.</p>
<h2>Establecimiento de las tablas</h2>
<p>Lo primero que debemos hacer, es establecer las tablas que van a contener los datos que queremos mostrarle al usuario. Para aquellos que tengan un poco de experiencia con HTML, este paso puede parecer bastante sencillo, pero es común que al momento de estructurar una table, el desarrollador tienda a omitir ciertas etiquetas diseñadas para aumentar la semántica del código y crear una especialización de funciones.</p>
<p>Es recomendable hacer uso de etiquetas como <strong>“thead”, “tbody” y “th”</strong> para que quede bien definida la función de cada parte de la table, y además para que se que nos facilite la manipulación de dicha estructura con JavaScript. La etiqueta “thead” sirve para definir la parte de la table donde se encontrarán los encabezados, cada encabezado de columna deberá ir dentro de una etiquta “th”. Por su parte, la etiqueta “tbody” nos sirve para indicar el incio y el fin del cuerpo de nuestra tabla, dentro de esta sección haremos uso de las etiquetas “tr” para definir filas y “td” para establecer cada celda.</p>
<div>
<div id="highlighter_775119">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div>21</div>
<div>22</div>
<div>23</div>
<div>24</div>
<div>25</div>
<div>26</div>
<div>27</div>
</td>
<td>
<div>
<div><code>&lt;</code><code>table</code> <code>id</code><code>=</code><code>"tablaLaWebera"</code><code>&gt;  </code></div>
<div><code>  </code><code>&lt;</code><code>thead</code><code>&gt;  </code></div>
<div><code>    </code><code>&lt;</code><code>tr</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>th</code><code>&gt;País&lt;/</code><code>th</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>th</code><code>&gt;Capital&lt;/</code><code>th</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>th</code><code>&gt;Moneda&lt;/</code><code>th</code><code>&gt; </code></div>
<div><code>    </code><code>&lt;/</code><code>tr</code><code>&gt;  </code></div>
<div><code>  </code><code>&lt;/</code><code>thead</code><code>&gt;  </code></div>
<div><code>  </code><code>&lt;</code><code>tbody</code><code>&gt;  </code></div>
<div><code>    </code><code>&lt;</code><code>tr</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;México&lt;/</code><code>td</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Ciudad de México&lt;/</code><code>td</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Peso&lt;/</code><code>td</code><code>&gt;</code></div>
<div><code>    </code><code>&lt;/</code><code>tr</code><code>&gt;  </code></div>
<div><code>    </code><code>&lt;</code><code>tr</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;España&lt;/</code><code>td</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Madrid&lt;/</code><code>td</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Euro&lt;/</code><code>td</code><code>&gt;</code></div>
<div><code>    </code><code>&lt;/</code><code>tr</code><code>&gt;  </code></div>
<div><code>    </code><code>&lt;</code><code>tr</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Venezuela&lt;/</code><code>td</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Caracas&lt;/</code><code>td</code><code>&gt;  </code></div>
<div><code>      </code><code>&lt;</code><code>td</code><code>&gt;Bolívar&lt;/</code><code>td</code><code>&gt;</code></div>
<div><code>    </code><code>&lt;/</code><code>tr</code><code>&gt;  </code></div>
<div><code>    </code><code>...  </code></div>
<div><code>  </code><code>&lt;/</code><code>tbody</code><code>&gt;  </code></div>
<div><code>&lt;/</code><code>table</code><code>&gt;</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h2>Añadir estilo a las filas</h2>
<p>Después de tener nuestra tabla definida, es tiempo de pasar a darle un poco de estilo para hacer que la visualización luzca mejor para el usuario. Un cambio en el CSS que tiende a mejorar en gran medida la experiencia del usuario, es la adaptación de las filas estilo Cebra.</p>
<p>El estilo Cebra hace que las filas pares luzcan de un color distinto a las filas impares, de esa manera el usuario podrá visualizar mejor los datos de cada renglón de la tabla, haciendo que sea más difícil equivocarse y mezclar datos. Esta es una técnica de organización muy recurrida por los diseñadores web, debido a que es muy fácil de aplicar y no requiere de añadir alguna clase de plugin o librería.</p>
<p>Para poder lograr esto, lo primero que debemos hacer es establecer los valores de estilo para la tabla en general:</p>
<div>
<div id="highlighter_561872">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</td>
<td>
<div>
<div><code>table {  </code></div>
<div><code>  </code><code>background-color</code><code>: </code><code>white</code><code>;  </code></div>
<div><code>  </code><code>width</code><code>: </code><code>100%</code><code>;  </code></div>
<div><code>} </code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Con esto indicamos que el color de la tabla será blanco y que su ancho se estirará hasta topar con el del padre, abarcando así su 100%. Después de esto, pasamos a enfocarnos en los elementos que conforman las filas (tr). Para poder dar estilo a esta parte de la tabla, podemos recurrir a dos métodos.</p>
<p>El primero de ellos requiere de menos codificación y a simple vista puede resultar más sencillo. Su funcionamiento se basa en utilizar el <strong>pseudo elemento nth-child de CSS</strong>, con él se establecen los valores de estilo para las filas pares (even) y las impares (odd), simplemente enviando como parámetro el valor correspondiente.</p>
<div>
<div id="highlighter_457318">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</td>
<td>
<div>
<div><code>tr:nth-child(even){</code></div>
<div><code>    </code><code>background</code><code>: </code><code>#FFFFFF</code><code>;</code></div>
<div><code>}</code></div>
<div><code>tr:nth-child(odd){</code></div>
<div><code>    </code><code>background</code><code>: </code><code>#666666</code><code>;</code></div>
<div><code>}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Con este código las filas pares lucirán de color blanco, mientras que las impares de color gris. El problema con este método, es que no es soportado por todos los navegadores. Para poder lograr una compatibilidad mayor, será necesario recurrir al segundo método:</p>
<div>
<div id="highlighter_485538">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
</td>
<td>
<div>
<div><code>tbody tr {  </code></div>
<div><code>  </code><code>background-color</code><code>: </code><code>#FFFFFF</code><code>;  </code></div>
<div><code>}  </code></div>
<div><code>tbody tr.impar {  </code></div>
<div><code>  </code><code>background-color</code><code>: </code><code>#666666</code><code>;  </code></div>
<div><code>  </code><code>color</code><code>: </code><code>white</code><code>;  </code></div>
<div><code>}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Este código establece los mismos colores, pero con la diferencia de que para aplicarlo, tenemos que añadir la clase “impar” a las filas que así lo sean. Para poder lograr esto, vamos a recurrir a jQuery y una simple función. Recuerda que para que el siguiente código funcione, debiste haber incluido la librería de jQuery anteriormente en tu código.</p>
<div>
<div id="highlighter_222085">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
</td>
<td>
<div>
<div><code>jQuery(document).ready(</code><code>function</code><code>(){</code></div>
<div><code>  </code><code>filas_cebra(</code><code>'tbody tr:odd'</code><code>, </code><code>'impar'</code><code>);  </code></div>
<div><code>});  </code></div>
<div></div>
<div><code>//función para aplicar la clase</code></div>
<div><code>function</code> <code>filas_cebra(selector, clase){  </code></div>
<div><code>  </code><code>jQuery(selector).removeClass(clase).addClass(clase);  </code></div>
<div><code>} </code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h2>Efecto hover</h2>
<p>Para dar un toque más adecuado al estilo de nuestra tabla, podemos hacer que cuando el puntero del mouse se encuentre sobre alguna de las filas, esta cambie de color de fondo para hacerse resaltar sobre las demás. Para poder lograr esto, podemos recurrir a la pseudo elemento <strong>“:hover”</strong> de CSS.</p>
<div>
<div id="highlighter_55442">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</td>
<td>
<div>
<div><code>tbody tr:hover {  </code></div>
<div><code>  </code><code>background-color</code><code>: lightblue;  </code></div>
<div><code>  </code><code>color</code><code>: </code><code>#666666</code><code>;  </code></div>
<div><code>}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Con esta adición, le será más fácil al usuario encontrar y ubicar datos.</p>
<div id="text">
<p>Una vez que tenemos nuestra tabla lista para ser presentada en nuestro sitio, con una estructura y estilo adecuado para mostrar la información, es tiempo de empezar a pensar como poder manipular los datos que en ella presentamos. Quizás este tipo de funcionalidad te puede parecer innecesaria hasta cierta instancia, pero una vez que tu tabla empieza a popularse con un gran número de datos, la aplicación de un filtro se vuelve indispensable para conseguir mejores resultados y optimizar la experiencia del usuario.</p>
<p>Como ya explicamos anteriormente, el filtrado de datos en una tabla se puede llevar a cabo mediante distintos métodos, en esta ocasión nosotros nos hemos enfocado en el uso exclusivo de jQuery, sin necesidad de recurrir a llamadas tipo ajax y mucho menos a algún lenguaje de lado servidor.</p>
<p>Nuestro objetivo en esta parte del artículo, es permitir que el usuario utilice un campo de texto en un formulario, para introducir las palabras que quiere localizar dentro de los datos que desplegamos en la tabla. Si bien puede sonar complejo, es algo muy sencillo de realizar gracias al uso de jQuery.</p>
<h2>Agregar elementos HTML necesarios</h2>
<p>Lo primero que debemos realizar para conseguir la depuración de información, es agregar los elementos que utilizaremos para escribir las palabras claves que se utilizaran para filtrar. Para ello utilizaremos un elemento input de tipo texto, el cual se puede establecer de la siguiente manera:</p>
<div>
<div id="highlighter_140325">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>
<div><code>&lt;</code><code>label</code> <code>for</code><code>=</code><code>"buscador"</code><code>&gt;Buscar:&lt;/</code><code>label</code><code>&gt; &lt;</code><code>input</code> <code>type</code><code>=</code><code>"text"</code> <code>id</code><code>=</code><code>"buscador"</code> <code>value</code><code>=</code><code>""</code><code>/&gt;</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>En el código agregamos una etiqueta “label” para desplegar un texto relacional antes del recuadro, de esa manera el usuario podrá saber que ese input será utilizado para buscar datos en la tabla que estamos desplegando. En caso de querer establecer una mejor descripción, se puede optar por agregar un texto al atributo value, para que aparezca dentro del cuadro de texto. De esta manera el usuario tendrá mejores instrucciones y el texto se puede remover cuando se de clic sobre el elemento.</p>
<div>
<div id="highlighter_867412">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>
<div><code>&lt;</code><code>label</code> <code>for</code><code>=</code><code>"buscador"</code><code>&gt;Buscar:&lt;/</code><code>label</code><code>&gt; &lt;</code><code>input</code> <code>type</code><code>=</code><code>"text"</code> <code>class</code><code>=</code><code>"texto-gris"</code> <code>id</code><code>=</code><code>"buscador"</code> <code>value</code><code>=</code><code>"Agrega la palabra que deseas buscar"</code><code>/&gt;</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Para darle estilo, también se agrego la clase “texto-gris”, la cual también será removida cuando nos enfoquemos en el elemento input.</p>
<div>
<div id="highlighter_620980">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
</td>
<td>
<div>
<div><code>.texto-gris{</code></div>
<div><code>    </code><code>color</code><code>: </code><code>#CCC</code><code>;</code></div>
<div><code>}</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h2>Remover texto de instrucción</h2>
<p>Para remover el texto que hemos agregado con el fin de dar una descripción extra para la acción a realizar, basta con utilizar el siguiente fragmento de código:</p>
<div>
<div id="highlighter_111075">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
</td>
<td>
<div>
<div><code>jQuery(</code><code>'.texto-gris'</code><code>).each(</code><code>function</code><code>() {            </code></div>
<div><code>    </code><code>var</code> <code>valorActual = jQuery(</code><code>this</code><code>).val();</code></div>
<div></div>
<div><code>    </code><code>jQuery(</code><code>this</code><code>).focus(</code><code>function</code><code>(){                </code></div>
<div><code>        </code><code>if</code><code>( jQuery(</code><code>this</code><code>).val() == valorActual ) {</code></div>
<div><code>            </code><code>jQuery(</code><code>this</code><code>).val(</code><code>''</code><code>);</code></div>
<div><code>            </code><code>jQuery(</code><code>this</code><code>).removeClass(</code><code>'texto-gris'</code><code>);</code></div>
<div><code>        </code><code>};</code></div>
<div><code>    </code><code>});</code></div>
<div></div>
<div><code>    </code><code>jQuery(</code><code>this</code><code>).blur(</code><code>function</code><code>(){</code></div>
<div><code>        </code><code>if</code><code>( jQuery(</code><code>this</code><code>).val() == </code><code>''</code> <code>) {</code></div>
<div><code>            </code><code>jQuery(</code><code>this</code><code>).val(valorActual);</code></div>
<div><code>            </code><code>jQuery(</code><code>this</code><code>).addClass(</code><code>'texto-gris'</code><code>);</code></div>
<div><code>        </code><code>};</code></div>
<div><code>    </code><code>});</code></div>
<div><code>});</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Lo que hacemos con esta sentencia, es recorrer cada uno de los elementos que cuentan con la clase “texto-gris”, una vez que estamos dentro del ciclo asignamos el valor actual del elemento a la variable “valorActual”, el cual en este caso sería “Agrega la palabra que deseas buscar”.</p>
<p>Después de esto establecemos dos eventos, el primero de ellos es <strong>“focus”</strong> el cual indica la acción que se llevará cuando nos enfoquemos en el input, es ahí donde hará una comparación entre el valor que guardamos en la variable “valorActual” y el verdadero valor con el que cuenta actualmente el elemento, si este es igual entonces remueve el valor y la clase para que el usuario pueda añadir las palabras que desee buscar. Por su parte, el evento <strong>“blur”</strong> sirve para especificar la acción que llevaremos cuando coloquemos el mouse en otra posición que no sea el input, cuando esto suceda verificará que el valor que actualmente tiene el input no este vacío, en caso de ser así añade de regreso el valor que guardamos en la variable y la clase para que el texto luzca gris.</p>
<h2>Eventos sobre el elemento input</h2>
<p>Después de realizar esta acción, es tiempo de pasar a realizar la función del filtrado. Para poder llevar a cabo esta operación, es necesario recurrir a un evento que se disparará con acciones del teclado sobre nuestro elemento de input de tipo texto.</p>
<p>El evento lleva por nombre <strong>“keyup”</strong> y se dispará después de levantar una tecla. Como queremos que este evento solo se capture para el elemento input, debemos utilizar un selector con su id para encapsularlo, y de esa manera aplicar la función únicamente a él.</p>
<div>
<div id="highlighter_126745">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
</td>
<td>
<div>
<div><code>jQuery(</code><code>"#buscador"</code><code>).keyup(</code><code>function</code><code>(){</code></div>
<div><code>    </code><code>if</code><code>( jQuery(</code><code>this</code><code>).val() != </code><code>""</code><code>){</code></div>
<div><code>        </code><code>jQuery(</code><code>"#tablaLaWebera tbody&gt;tr"</code><code>).hide();</code></div>
<div><code>        </code><code>jQuery(</code><code>"#tablaLaWebera td:contiene-palabra('"</code> <code>+ jQuery(</code><code>this</code><code>).val() + </code><code>"')"</code><code>).parent(</code><code>"tr"</code><code>).show();</code></div>
<div><code>    </code><code>}</code></div>
<div><code>    </code><code>else</code><code>{</code></div>
<div><code>        </code><code>jQuery(</code><code>"#tablaLaWebera tbody&gt;tr"</code><code>).show();</code></div>
<div><code>    </code><code>}</code></div>
<div><code>});</code></div>
<div></div>
<div><code>jQuery.extend(jQuery.expr[</code><code>":"</code><code>], </code></div>
<div><code>{</code></div>
<div><code>    </code><code>"contiene-palabra"</code><code>: </code><code>function</code><code>(elem, i, match, array) {</code></div>
<div><code>        </code><code>return</code> <code>(elem.textContent || elem.innerText || jQuery(elem).text() || </code><code>""</code><code>).toLowerCase().indexOf((match[3] || </code><code>""</code><code>).toLowerCase()) &gt;= 0;</code></div>
<div><code>    </code><code>}</code></div>
<div><code>});</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Dentro de la función del evento, hacemos una comparación del valor del input, si este no es vacío entonces procedemos a realizar el filtrado. Lo primero que hacemos es ocultar todas las filas que componen la tabla, después buscamos la palabra que el usuario a ingresado, esto mediante la función personalizada “contiene-palabra”, la cual se declara extendiendo la funcionalidad de jQuery.</p>
<p>A la función <strong>“contiene-palabra”</strong> se le pasa el valor del input como parámetro, y en ella se filtran los datos para regresar únicamente las filas que tengan algún valor que coincida con los datos que mandamos. Finalmente las filas que coinciden, se muestran nuevamente con la función “show”.</p>
<h2>Ubicación del código JavaScript</h2>
<p>Como último consejo, debemos indicarte que la mejor ubicación que le puedes dar a tu código de JavaScript, es la parte inferior de tu archivo, es decir, una vez que has cerrado tu etiqueta body. De esta manera la página cargará más rápido y el JavaScript no tendrá que esperar a que cargue el DOM para llevar a cabo sus acciones, pues este ya estará totalmente cargado.</p>
<p>En caso de colocar el código al principio de la página, dentro de la etiqueta “head”, tendrás que usar la sentencia <strong>“jQuery(document).ready()”</strong> antes de las acciones que realices con este lenguaje. Esto se hace para poder garantizar que el DOM se encontrará cargado una vez que captures eventos.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/uso-de-jquery-para-presentar-y-filtrar-datos-en-tablas/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile 1.2 final disponible</title>
		<link>http://www.haciendoweb.cult.cu/jquery-mobile-1-2-final-disponible/</link>
		<comments>http://www.haciendoweb.cult.cu/jquery-mobile-1-2-final-disponible/#comments</comments>
		<pubDate>Thu, 18 Oct 2012 19:47:20 +0000</pubDate>
		<dc:creator>Jorge Enrique Dominguez</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=10029</guid>
		<description><![CDATA[ El equipo de desarrollo de esta herramienta para la creación de sitios y aplicaciones accesibles desde los principales dispositivos móviles lanza una nueva versión final.

17/10/2012 &#8211; jQuery Mobile 1.2 es la última versión estable de este framework para desarrollo de interfaces móviles.
&#160;

Esta versión trae como novedad más destacada un nuevo widget popup además de [...]]]></description>
			<content:encoded><![CDATA[<div><strong> <a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/10/12-version.png"><img class="alignleft size-thumbnail wp-image-10030" title="12-version" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/10/12-version-150x150.png" alt="" width="150" height="150" /></a>El equipo de desarrollo de esta herramienta para la creación de sitios y aplicaciones accesibles desde los principales dispositivos móviles lanza una nueva versión final.</strong></div>
<div></div>
<p>17/10/2012 &#8211; <strong>jQuery Mobile 1.2</strong> es la última versión estable de este framework para desarrollo de interfaces móviles.</p>
<p>&nbsp;</p>
<p><span id="more-10029"></span></p>
<p>Esta versión trae como novedad más destacada un nuevo widget popup además de 100 mejoras y correcciones en toda la biblioteca con las que hacer nuestro trabajo mejor y más rápido.</p>
<p>Desde su lanzamiento a finales del año pasado (v.1 final) <strong>jQuery Mobile</strong> es considerada como una interesante herramienta de crear sitios y aplicaciones accesibles por smartphones y tabletas tan populares como iOS, Android, Windows Phone, BlackMerry, Symbian o Meego, entre otros.</p>
<p>Interesados pueden acceder a más información y descarga del nuevo <strong>jQuery Mobile 1.2 final </strong>desdejquerymobile.com.</p>
<p>Fuente: <a target="_blank" title="Fuente" href="http://www.desarrolloweb.com/actualidad/jquery-mobile-1-2-final-disponible-7564.html" target="_blank">Desarrolloweb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/jquery-mobile-1-2-final-disponible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Repositorio web de plugins jQuery</title>
		<link>http://www.haciendoweb.cult.cu/repositorio-web-de-plugins-jquery/</link>
		<comments>http://www.haciendoweb.cult.cu/repositorio-web-de-plugins-jquery/#comments</comments>
		<pubDate>Thu, 06 Sep 2012 11:00:17 +0000</pubDate>
		<dc:creator>Darkwin</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=9594</guid>
		<description><![CDATA[Handpicked jQuery Plugins Repository v2 es la segunda versión de un repositorio que presume de seleccionar manualmente algunos de los mejores plugins jQuery.
Clasificados por categorías según su funcionalidad todos estos plugins jQuery están listos para empezar a ser usados y disponen junto a una breve descripción una demo del mismo.

Además todos aquellos que lo deseen [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/09/1133.gif"><img class=" wp-image-9595 alignleft" title="1133" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/09/1133.gif" alt="" width="140" height="98" /></a>Handpicked jQuery Plugins Repository v2</strong> es la segunda versión de un repositorio que presume de seleccionar manualmente algunos de los mejores plugins jQuery.</p>
<p style="text-align: justify;">Clasificados por categorías según su funcionalidad todos estos plugins jQuery están listos para empezar a ser usados y disponen junto a una breve descripción una demo del mismo.</p>
<p style="text-align: justify;"><span id="more-9594"></span></p>
<p style="text-align: justify;">Además todos aquellos que lo deseen tienen también la posibilidad de encontrar cada uno de estos plugins en un CDN, de forma que sea posible usarlo sin ni siquiera tener que descargarlos.</p>
<p style="text-align: justify;">En cuanto a plugins jQuery que podemos encontrar en esta selección destaca aquellos relativos a efectos visuales, funcionalidades para formularios y menús, creación de sliders, efectos en texto, o integración con redes sociales como Twitter.</p>
<p style="text-align: justify;">Tras el lanzamiento de esta nueva versión de <strong>Handpicked jQuery Plugins Repository</strong>, todos los scripts ahora corren sobre jQuery 1.7.2. Usuarios interesados pueden acceder a este repositorio online de plugins jQuery desde<a target="_blank" href="http://%20iwantaneff.in/repo"> iwantaneff.in/repo</a>.</p>
<p><strong>Fuente:</strong> <a target="_blank" href="http://www.desarrolloweb.com/">DesarrolloWeb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/repositorio-web-de-plugins-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[AVISO] Nueva descarga de plugin de JQuery</title>
		<link>http://www.haciendoweb.cult.cu/aviso-nueva-descarga-de-plugin-de-jquery/</link>
		<comments>http://www.haciendoweb.cult.cu/aviso-nueva-descarga-de-plugin-de-jquery/#comments</comments>
		<pubDate>Sat, 16 Jun 2012 15:14:00 +0000</pubDate>
		<dc:creator>Darkwin</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Complementos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=8657</guid>
		<description><![CDATA[Se encuentra disponible en las Descargas el plugin de JQuery SuperScrollorama. El desarrollador del plugin  Scrollorama ha lanzado una versión mucho más &#8220;cool&#8221; de su popular utilidad open source bajo el nombre SuperScrollorama.
Con la idea de ofrecer nuevas y sofisticasdos efectos a las animaciones al hacer desplazamientos en nuestro websites Jhon Polacek y su equipo daban a conocer recientemente [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/06/2097_t1.gif"><img class="size-full wp-image-8658 alignleft" title="2097_t1" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/06/2097_t1.gif" alt="" width="182" height="100" /></a>Se encuentra disponible en las Descargas el plugin de JQuery <strong>SuperScrollorama. </strong>El desarrollador del plugin  Scrollorama ha lanzado una versión mucho más &#8220;cool&#8221; de su popular utilidad open source bajo el nombre <strong>SuperScrollorama</strong>.</p>
<p>Con la idea de ofrecer nuevas y sofisticasdos efectos a las animaciones al hacer desplazamientos en nuestro websites Jhon Polacek y su equipo daban a conocer recientemente este nuevo plugin jQuery.</p>
<p><span id="more-8657"></span></p>
<p>Si quieres sorprender a los usuarios que visitan tu web con una variada y completa serie de animaciones que se desvanecen, pasan, resbalan, rebotan o mueven además de otros efectos como parallax, color, fling&#8230;., <strong>SuperScrollorama </strong>es el plugin jQuery que estabas buscando.</p>
<p>Compatible con la mayoría de los principales navegadores este plugín gratuito requiere jQuery para su uso y forma parte de un proyecto open source bajo licencia MIT y GPL.</p>
<p>Al igual que se predecesor <strong>SuperScrollorama </strong>ofrece varias opciones de configuración con la que ajustar la duración y la posición de los elementos animados.</p>
<p>Para Descargar dar clic <a href="http://www.haciendoweb.cult.cu/wp-content/plugins/download-monitor/download.php?id=101">AQUÍ</a></p>
<p><strong>Fuente: </strong><a target="_blank" href="http://www.desarrolloweb.com/">DesarrolloWeb</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/aviso-nueva-descarga-de-plugin-de-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usar geolocalización con Google Maps</title>
		<link>http://www.haciendoweb.cult.cu/usar-geolocalizacion-con-google-maps/</link>
		<comments>http://www.haciendoweb.cult.cu/usar-geolocalizacion-con-google-maps/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 03:08:02 +0000</pubDate>
		<dc:creator>Juan Pablo Pérez Manes</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Integración]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Códigos]]></category>
		<category><![CDATA[Google Maps]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=6965</guid>
		<description><![CDATA[Este tutorial muestra cómo usar la API de geolocalización combinada con la API de Google Maps para mostrar nuestra posición actual sobre un mapa con HTML5.
Nivel: Medio
¿Qué es la geolocalización?
Sin entrar en si forma parte o no de HTML5, podemos definir la geolocalización como una nueva API Javascript que nos permite conocer de forma fácil [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/12/google-map-logo.jpg"><img class="alignleft size-thumbnail wp-image-3172" title="google map logo" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/12/google-map-logo-e1322775590966-150x146.jpg" alt="google map logo" width="150" height="146" /></a>Este <span class="arti_link">tutorial</span> muestra cómo usar la <span class="arti_link">API de geolocalización</span> combinada con la <span class="arti_link">API de Google Maps</span> para mostrar nuestra posición actual sobre un mapa con <span class="arti_link">HTML5</span>.</p>
<p style="text-align: justify;">Nivel: <strong><span style="color: #c4a000;">Medio</span></strong></p>
<h2 style="text-align: justify;">¿Qué es la geolocalización?</h2>
<p style="text-align: justify;">Sin entrar en si <span class="arti_link">forma parte o no de HTML5</span>, podemos definir la geolocalización como una nueva API <span class="arti_link">Javascript</span> que nos permite conocer de forma fácil nuestras coordenadas desde un navegador.<img class="imgBlog" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAMAAAAoyzS7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////AAAAVcLTfgAAAAF0Uk5TAEDm2GYAAAAMSURBVHjaYmAACDAAAAIAAU9tWeEAAAAASUVORK5CYII=" alt="" border="0" data-src="http://l4c.me/uploads/geolocation-1333363169_full550.png" /><span id="more-6965"></span></p>
<h2>Conociendo nuestra posición</h2>
<p>Esta API destaca por lo fácil que es usarla. Por ejemplo:</p>
<pre class="brush: javascript; gutter: true">&lt;script&gt;
     function localizame() {
           navigator.geolocation.getCurrentPosition(coordenadas);
     }

     function coordenadas(){
           var latitud = position.coords.latitude;
           var longitud = position.coords.longitude;
     }
&lt;/script&gt;</pre>
<p>Con este código tan simple tenemos almacenados en las variables <em>latitud</em> y <em>longitud</em> <strong>la latitud y longitud de nuestra posición</strong></p>
<p><strong>Controlando errores</strong></p>
<p>Es posible que obtengamos algún tipo de error a la hora de usar esta API. El más común para los usuarios <em>desactualizados</em> (vamos, los que usen IE) es que el navegador no soporte geolocalización. En ese caso controlaremos:</p>
<pre class="brush: javascript; gutter: true">&lt;script&gt;
function localizame() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(coordenadas);
            }else{
                alert(&#039;Oops! Tu navegador no soporta geolocalización. Bájate Chrome, que es gratis!&#039;);
            }
}
&lt;/script&gt;</pre>
<p>Existen además otros errores relacionados con los permisos sobre privacidad del usuario, tiempo de espera, etc. Para ello crearemos una función sencilla que muestre un mensaje según el código de error, y la llamamos en la función <em>getCurrentPosition</em>:</p>
<pre class="brush: javascript; gutter: true">&lt;script&gt;
        function localizame() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(coordenadas, errores);
            }else{
                alert(&#039;Oops! Tu navegador no soporta geolocalización. Bájate Chrome, que es gratis!&#039;);
            }
        }

        function errores(err) {
            if (err.code == 0) {
              alert(&quot;Oops! Algo ha salido mal&quot;);
            }
            if (err.code == 1) {
              alert(&quot;Oops! No has aceptado compartir tu posición&quot;);
            }
            if (err.code == 2) {
              alert(&quot;Oops! No se puede obtener la posición actual&quot;);
            }
            if (err.code == 3) {
              alert(&quot;Oops! Hemos superado el tiempo de espera&quot;);
            }
        }
&lt;/script&gt;</pre>
<h2>Combinando la API de geolocalización con la API de Google Maps</h2>
<p>Veamos los pasos directamente sobre los comentarios del código:</p>
<pre class="brush: javascript; gutter: true">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;Localizador&lt;/title&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.7.1.min.js&quot;&gt;&lt;/script&gt; /*Usamos JQuery*/
    &lt;style&gt;
        body{
            font-family: &quot;Helvetica Neue&quot;, &quot;Helvetica&quot;, Arial, Verdana, sans-serif;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;header&gt;
        &lt;h1&gt;Localizador mediante HTML5&lt;/h1&gt;
    &lt;/header&gt;
    &lt;section&gt;
        &lt;article&gt;
            &lt;div id=&#039;map_canvas&#039; style=&#039;width:100%; height:400px;&#039;&gt;&lt;/div&gt;/*Esta capa hará de elemento contenedor del mapa*/
        &lt;/article&gt;
    &lt;/section&gt;

    &lt;script type=&quot;text/javascript&quot; src=&quot;http://maps.google.com/maps/api/js?sensor=true&quot;&gt;&lt;/script&gt; /*Cargamos la API de Google Maps*/

    &lt;script type=&quot;text/javascript&quot;&gt;
        var map;
        var latitud;
        var longitud;

        $(document).ready(function() {
            localizame(); /*Cuando cargue la página, cargamos nuestra posición*/
        });

        function localizame() {
            if (navigator.geolocation) { /* Si el navegador tiene geolocalizacion */
                navigator.geolocation.getCurrentPosition(coordenadas, errores);
            }else{
                alert(&#039;Oops! Tu navegador no soporta geolocalización. Bájate Chrome, que es gratis!&#039;);
            }
        }

        function coordenadas(position) {
            latitud = position.coords.latitude; /*Guardamos nuestra latitud*/
            longitud = position.coords.longitude; /*Guardamos nuestra longitud*/
            cargarMapa();
        }

        function errores(err) {
            /*Controlamos los posibles errores */
            if (err.code == 0) {
              alert(&quot;Oops! Algo ha salido mal&quot;);
            }
            if (err.code == 1) {
              alert(&quot;Oops! No has aceptado compartir tu posición&quot;);
            }
            if (err.code == 2) {
              alert(&quot;Oops! No se puede obtener la posición actual&quot;);
            }
            if (err.code == 3) {
              alert(&quot;Oops! Hemos superado el tiempo de espera&quot;);
            }
        }

        function cargarMapa() {
            var latlon = new google.maps.LatLng(latitud,longitud); /* Creamos un punto con nuestras coordenadas */
            var myOptions = {
                zoom: 17,
                center: latlon, /* Definimos la posicion del mapa con el punto */
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };/*Configuramos una serie de opciones como el zoom del mapa y el tipo.
            map = new google.maps.Map($(&quot;#map_canvas&quot;).get(0), myOptions); /*Creamos el mapa y lo situamos en su capa */

            var coorMarcador = new google.maps.LatLng(latitud,longitud); /Un nuevo punto con nuestras coordenadas para el marcador (flecha) */

            var marcador = new google.maps.Marker({
/*Creamos un marcador*/
                position: coorMarcador, /*Lo situamos en nuestro punto */
                map: map, /* Lo vinculamos a nuestro mapa */
                title: &quot;Dónde estoy?&quot;
            });
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Fuente: <a target="_blank" title="Fuente" href="http://www.cristalab.com/tutoriales/usar-geolocalizacion-con-google-maps-c104949l/" target="_blank">Cristalab</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/usar-geolocalizacion-con-google-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FeedEk, jQuery al servicio de feeds en nuestro site</title>
		<link>http://www.haciendoweb.cult.cu/feedek-jquery-al-servicio-de-feeds-en-nuestro-site/</link>
		<comments>http://www.haciendoweb.cult.cu/feedek-jquery-al-servicio-de-feeds-en-nuestro-site/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 00:56:42 +0000</pubDate>
		<dc:creator>Juan Pablo Pérez Manes</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Códigos]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=4379</guid>
		<description><![CDATA[ Este plugin jQuery nos permite captar y mostrar de forma sencilla feeds RSS y Atom. 
FeedEk nos permite personalizar y mostrar en un widget los contenidos del canal RSS o Atom que le indiquemos.
Pese a que cada día toma más fuerza la plataforma Twitter como espacio de comunicación de noticias e información, los feeds [...]]]></description>
			<content:encoded><![CDATA[<div class="descripcion" style="text-align: justify;"><strong> <img class="ngg-singlepic ngg-none alignleft" title="RSS logo" src="http://www.haciendoweb.cult.cu/wp-content/gallery/df_en_desarrollo/rss.png" alt="RSS logo" width="98" height="98" />Este plugin jQuery nos permite captar y mostrar de forma sencilla feeds RSS y Atom. </strong></div>
<p style="text-align: justify;"><span>FeedEk</span> nos permite personalizar y mostrar en un widget los contenidos del canal RSS o Atom que le indiquemos.<span id="more-4379"></span></p>
<p style="text-align: justify;">Pese a que cada día toma más fuerza la plataforma Twitter como espacio de comunicación de noticias e información, los feeds siguen teniendo un peso como medio de redifusión del contenido web.</p>
<p style="text-align: justify;">Hasta el momento los interesados en los principales formato de feeds (RSS y Atom) debían usar un programa para acceder a las fuentes suscritas desde un mismo lugar. No obstante, ahora gracias a <span style="font-weight: bold;">FeedEk</span> vamos a poder tomar los feeds desde cualquier dominio con una pocas lineas de código y mostralos en nuestro site a través de un widget.</p>
<p style="text-align: justify;"><span style="font-weight: bold;">FeedEk </span>permite además ciertas opciones de configuración como mencionar la URL del feed, número de artículos a mostrar, o incluso descripción y fecha de publicación.</p>
<p style="text-align: justify;">Pese a que, para cualquiera que tenga un poco de experiencia en estos temas no le va a resultar difícil manejar <span style="font-weight: bold;">FeedEk</span>, esta utilidad dispone en su web de las instrucciones, demos y códigos necesarios para implementarla de forma sencilla en nuestro site.</p>
<p style="text-align: justify;">Interesados pueden acceder a <span style="font-weight: bold;">FeedEk </span>desdejquery-plugins.net/FeedEK.</p>
<h2 style="text-align: justify;">Pasos implementar FeedEk en una página:</h2>
<p style="text-align: justify;">1 &#8211; Incluir los recursos de Javascript en la sección &lt;head&gt; de la página:</p>
<pre class="brush: html; gutter: true">&lt;head&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.6.2.min.js&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;FeedEk.js&quot;&gt;&lt;/script&gt;

&lt;/head&gt;</pre>
<p style="text-align: justify;">2- Añadir un marcador de posición para el widget a su página:</p>
<pre class="brush: html; gutter: true">&lt;body&gt;
    ...
    &lt;div id=&quot;divRss&quot;&gt;
    &lt;/div&gt;
    ...
&lt;/body&gt;</pre>
<p style="text-align: justify;">3- Añadir el código JavaScript que se rellenará el espacio que declaramos como  marcador del posición:</p>
<pre class="brush: javascript; gutter: true"> $(&#039;#divRss&#039;).FeedEk({
   FeedUrl : &#039;http://rss.cnn.com/rss/edition.rss&#039;,
   MaxCount : 5,
   ShowDesc : true,
   ShowPubDate:true
  });</pre>
<h3 style="text-align: justify;">Opciones</h3>
<div id="divOpt" style="text-align: justify;">
<div>
<div>FeedUrl</div>
<div>: The Feed URL (required)</div>
</div>
<div>
<div>MaxCount</div>
<div>: Feed Item Count (default 5)</div>
</div>
<div>
<div>ShowDesc</div>
<div>: Option to show Feed Item Description (default true)</div>
</div>
<div>
<div>ShowPubDate</div>
<div>: Option to show Feed Item Publish Date (default true)</div>
</div>
</div>
<h3 style="text-align: justify;">Estilos</h3>
<p style="text-align: justify;">Usted puede modificar su Feed con css. Este es el código css que utiliza para la demostración</p>
<pre class="brush: css; gutter: true">body{ background-color:#F4F4EE; font:13px tahoma,Geneva,sans-serif; text-align:left; }

#divRss{ width:450px; padding: 0px 3px 3px 5px; background-color:#FFF;
border:1px solid #D3CAD7; margin-top:3px; }

.ItemTitle{ font-weight:bold; margin:5px 0px 0px 0px; padding-top:3px; }
.ItemTitle a{ color:#4EBAFF; text-decoration:none }
.ItemTitle a:hover{ text-decoration:underline }
.ItemContent{ padding:1px 3px 3px 3px; border-bottom:1px solid #D3CAD7; color:#3E3E3E; }
.ItemDate{ font-size:11px; color:#AAA; }</pre>
<p style="text-align: justify;">Puedes observar el archivo de ejemplo brindado en la página oficial de este proyecto que contiene todo los códigos necesarios que lo ponemos a tu disposición:</p>
<p style="text-align: justify;"><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/01/FeedEK-ejemplo.zip"><img class="aligncenter size-full wp-image-4384" title="Descargar ejemplo de FeedEK" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/01/boton-descargar1.jpg" alt="Descargar ejemplo de FeedEK" width="168" height="35" /></a></p>
<p style="text-align: justify;">Con información: <a target="_blank" title="Fuente" href="www.desarrolloweb.com/de_interes/feedek-jquery-servicio-feeds-nuestro-site.html" target="_blank">Desarrolloweb</a> &#8211; <a target="_blank" title="Fuente" href="http://www.jquery-plugins.net/FeedEK/FeedEK.html" target="_blank">jQuery Plugins</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/feedek-jquery-al-servicio-de-feeds-en-nuestro-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo crear una tabla comparativa con jQuery</title>
		<link>http://www.haciendoweb.cult.cu/como-crear-una-tabla-comparativa-con-jquery/</link>
		<comments>http://www.haciendoweb.cult.cu/como-crear-una-tabla-comparativa-con-jquery/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 20:14:52 +0000</pubDate>
		<dc:creator>José Manzano de Armas</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=4101</guid>
		<description><![CDATA[Servicios online como Compare Ninja, permiten crear fácilmente tablas comparativas con HTML y CSS. Los desarrolladores, pueden crear su propia implementación con jQuery, siguiendo el tutorial que publicó Chris Coyier.
 
Como todo desarrollo con jQuery, es sencillo, pero también elegante.

Implementación
Para comenzar hay que enlazar los archivos CSS y JS:
&#60;link rel=&#039;stylesheet&#039; type=&#039;text/css&#039; href=&#039;css/style.css&#039; /&#62;
&#60;script type=&#039;text/javascript&#039; src=&#039;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&#039;&#62;&#60;/script&#62;
&#60;script type=&#039;text/javascript&#039; src=&#039;js/example.js&#039;&#62;&#60;/script&#62;
Recuerda [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a target="_blank" href="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/10/jquery.gif"><img class="alignleft size-full wp-image-1822" style="margin: 5px;" title="jQuery logo" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/10/jquery.gif" alt="jQuery logo" width="140" height="77" /></a>Servicios online como <a title="Compare Ninja – Crear tablas comparativas con HTML y CSS" href="http://pixelcoblog.com/compare-nija-crear-tablas-comparativas-con-html-y-css/">Compare Ninja, permiten crear fácilmente tablas comparativas con HTML y CSS</a>. Los desarrolladores, pueden crear su propia implementación con <em>jQuery</em>, siguiendo el tutorial que publicó <a target="_blank" title="Feature Table Design por Chris Coyier" href="http://css-tricks.com/feature-table-design/">Chris Coyier</a>.</p>
<p style="text-align: justify;"> <span id="more-4101"></span></p>
<p style="text-align: justify;">Como todo desarrollo con <em>jQuery</em>, es sencillo, pero también elegante.</p>
<p style="text-align: justify;"><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/01/featuretabledemo.jpg"><img class="size-medium wp-image-4104 alignnone" title="featuretabledemo" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2012/01/featuretabledemo-300x255.jpg" alt="" width="300" height="255" /></a></p>
<h3 style="text-align: justify;">Implementación</h3>
<p style="text-align: justify;">Para comenzar hay que enlazar los archivos <em>CSS</em> y <em>JS</em>:</p>
<pre class="brush: html; gutter: true">&lt;link rel=&#039;stylesheet&#039; type=&#039;text/css&#039; href=&#039;css/style.css&#039; /&gt;
&lt;script type=&#039;text/javascript&#039; src=&#039;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&#039;&gt;&lt;/script&gt;
&lt;script type=&#039;text/javascript&#039; src=&#039;js/example.js&#039;&gt;&lt;/script&gt;</pre>
<p style="text-align: justify;"><a title="Descargar última versión estable de jQuery" href="http://www.haciendoweb.cult.cu/utilidades/#frameworks">Recuerda que puedes descargar jQuery desde nuestra sección de utilidades</a>.</p>
<p style="text-align: justify;">En el archivo <em>example.js</em> está el siguiente código que es el encargado de darle la apariencia a la tabla comparativa:</p>
<pre class="brush: javascript; gutter: true">$(function() {
var numCols = $(&quot;colgroup&quot;).length,
featuredCol;
// Zebra striping
$(&quot;tr:odd&quot;).addClass(&quot;odd&quot;);
$(&quot;tr:last&quot;).addClass(&quot;final-row&quot;);
// Figure out which column # is featured.
$(&quot;colgroup&quot;).each(function(i) {
if (this.id == &quot;featured&quot;) featuredCol = i+1;
});
// Apply classes to each table cell indicating column
// Also applies classes if cell is right or left of featured column
$(&quot;td, th&quot;).each(function(i) {
$(this).addClass(&quot;table-col-&quot; + ((i % numCols) + 1));
if (((i%numCols)+1) == (featuredCol-1)) $(this).addClass(&quot;leftOfFeatured&quot;);
if (((i%numCols)+1) == (featuredCol+1)) $(this).addClass(&quot;rightOfFeatured&quot;);
});
});</pre>
<p style="text-align: justify;">Luego el código <em>HTML</em> que implementa la tabla:</p>
<pre class="brush: html; gutter: true">&lt;table id=&quot;feature-table&quot;&gt;
&lt;colgroup&gt;&lt;/colgroup&gt;
&lt;colgroup&gt;&lt;/colgroup&gt;
&lt;colgroup id=&quot;featured&quot;&gt;&lt;/colgroup&gt;
&lt;colgroup&gt;&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th id=&quot;header-basic&quot;&gt;&lt;span&gt; Basic&lt;/span&gt; &lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/th&gt;
&lt;th id=&quot;header-plus&quot;&gt;&lt;span&gt; Plus&lt;/span&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/th&gt;
&lt;th id=&quot;header-premium&quot;&gt;&lt;span&gt; Premium&lt;/span&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/th&gt;
&lt;th id=&quot;header-pro&quot;&gt;&lt;span&gt;0 Pro&lt;/span&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 pages&lt;/td&gt;
&lt;td&gt;75 pages&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 users&lt;/td&gt;
&lt;td&gt;5 users&lt;/td&gt;
&lt;td&gt;10 users&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10 Sites&lt;/td&gt;
&lt;td&gt;25 Sites&lt;/td&gt;
&lt;td&gt;100 Sites&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50 MB&lt;/td&gt;
&lt;td&gt;250 MB&lt;/td&gt;
&lt;td&gt;1 GB&lt;/td&gt;
&lt;td&gt;5 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;included&lt;/td&gt;
&lt;td&gt;included&lt;/td&gt;
&lt;td&gt;included&lt;/td&gt;
&lt;td&gt;included&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-x.png&quot; alt=&quot;no&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;images/icon-check.png&quot; alt=&quot;yes&quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;#&quot;&gt;Sign Up&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;</pre>
<p style="text-align: justify;">Como les había comentado, crear una tabla comparativa es muy sencillo con jQuery.</p>
<h3 style="text-align: justify;">Notas finales:</h3>
<p style="text-align: justify;">En la página hay un demo online y también la versión para descargarlo y correrlo localmente en el navegador web sin necesidad de montarlo en un servidor web.</p>
<p style="text-align: justify;">Cuando analicen el código del demo, notarán un línea adicional que omití, debido a que se trata de un hack para las versiones antiguas de <em>Internet Explorer</em>.</p>
<p style="text-align: justify;">Website: <a target="_blank" title="Feature Table Design" href="http://css-tricks.com/feature-table-design/">css-tricks.com/feature-table-design</a></p>
<p style="text-align: justify;">Fuente: <a target="_blank" href="http://pixelcoblog.com/como-crear-una-tabla-comparativa-con-jquery/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+PixelcoBlog+%28Pixelco+Blog%29" target="_blank">http://pixelcoblog.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/como-crear-una-tabla-comparativa-con-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limpiar valores de input y volver al valor por defecto con jQuery</title>
		<link>http://www.haciendoweb.cult.cu/limpiar-valores-de-input/</link>
		<comments>http://www.haciendoweb.cult.cu/limpiar-valores-de-input/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 03:47:54 +0000</pubDate>
		<dc:creator>Juan Pablo Pérez Manes</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Códigos]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=2338</guid>
		<description><![CDATA[Esta pequeña función de jQuery me es muy útil cuando tengo un campo de texto (&#60;input&#62;, &#60;textarea&#62;, etc) y éste tiene un valor por defecto (por ejemplo, el Buscar que se ve en el header de este humilde sitio). Cuando hago foco en él para escribir, quiero que ese value desaparezca y el usuario pueda [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/10/limpiar-input.jpg"><img class="alignleft size-thumbnail wp-image-2340" title="limpiar input" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/10/limpiar-input-e1319860049372-150x68.jpg" alt="limpiar input" width="150" height="68" /></a>Esta pequeña función de <strong>jQuery</strong> me es muy útil cuando tengo un campo de texto (<strong>&lt;input&gt;</strong>, <strong>&lt;textarea&gt;</strong>, etc) y éste tiene un valor por defecto (por ejemplo, el <em>Buscar</em> que se ve en el <em>header</em> de este humilde sitio). Cuando hago foco en él para escribir, quiero que ese <strong>value</strong> desaparezca y el usuario pueda ingresar lo que quiera; caso contrario, si el usuario lo deja vacío o si es el mismo que el original (en este caso, <em>Buscar</em>) vuelve a restablecerse al definido por defecto. <span id="more-2338"></span></p>
<pre class="brush: javascript; gutter: true">$('input').each(function(){
   // tomamos el valor actual del input
   var currentValue = $(this).val();
   // en el focus() comparamos si es el mismo por defecto, y si es asi lo vaciamos
   $(this).focus(function(){
      if( $(this).val() == currentValue ) {
         $(this).val('');
      };
   });
   // en el blur, si el usuario dejo el value vacio, lo volvemos a restablecer
   $(this).blur(function(){
      if( $(this).val() == '' ) {
         $(this).val(currentValue);
      };
   });
});</pre>
<p><a class="verejemplo" title="Ver ejemplo de como borrar inputs con jQuery" href="http://www.haciendoweb.cult.cu/wp-content/uploads/ejemplos/limpiar-input/index.html" target="_blank">Ver ejemplo</a></p>
<p style="text-align: justify;">Fuente: <a target="_blank" title="Fuente" href="http://www.csslab.cl/2010/06/08/tip-precoz-6-limpiar-valores-de-input/" target="_blank">csslab</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/limpiar-valores-de-input/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jQuery plugin: fontSizer, aumento/disminución del tamaño de fuentes</title>
		<link>http://www.haciendoweb.cult.cu/jquery-plugin-fontsizer-aumento-disminucion-del-tamano-de-fuentes/</link>
		<comments>http://www.haciendoweb.cult.cu/jquery-plugin-fontsizer-aumento-disminucion-del-tamano-de-fuentes/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 02:27:27 +0000</pubDate>
		<dc:creator>Juan Pablo Pérez Manes</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Códigos]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=1892</guid>
		<description><![CDATA[Un nuevo plugin para el grandioso jQuery ha nacido. Por un proyecto en el cual estoy involucrado, era necesario un método parametrizable para manejar aumento/disminución del tamaño de fuentes. Busqué mucho un plugin para esto, y me frustré bastante dado la carencia del ideal, así que gracias a la habilidad del web developer Rodrigo Augosto, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a target="_blank" href="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/07/codigo.jpg"><img class="alignleft size-full wp-image-70" title="código" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/07/codigo.jpg" alt="código" width="96" height="96" /></a>Un nuevo <em>plugin</em> para el grandioso <a title="Enlace externo a &quot;jQuery Javascript Framework&quot;" href="http://www.jquery.com/" target="_blank">jQuery</a> ha nacido. Por un proyecto en el cual estoy involucrado, era necesario un método parametrizable para manejar aumento/disminución del tamaño de fuentes. Busqué mucho un plugin para esto, y me frustré bastante dado la carencia del ideal, así que gracias a la habilidad del <em>web developer</em> <a target="_blank" title="Enlace externo a &quot;Protoboard.cl&quot;" href="http://www.protoboard.cl/" target="_blank">Rodrigo Augosto</a>, surge este nuevo aporte a la accesibilidad web.<span id="more-1892"></span></p>
<p style="text-align: justify;"><a class="verejemplo" title="Ver ejemplo de jQuery plugin: fontSizer" href="http://www.haciendoweb.cult.cu/wp-content/uploads/ejemplos/fontsizer/index.html" target="_blank">Ver ejemplo</a></p>
<h3 style="text-align: justify;">Modo de Uso</h3>
<ol style="text-align: justify;">
<li>Adjuntar <em>jquery.js</em> y <em>jquery.fontSizer.js</em> entre las etiquetas <strong>&lt;head&gt;&lt;/head&gt;</strong></li>
<li>Definir <em>id’s</em> para ambos links, por ejemplo <strong>#aumentar</strong> (+) y <strong>#disminuir</strong> (-)</li>
<li>Inicializar el <em>plugin</em>, como en el ejemplo:
<pre class="brush: javascript; gutter: true">   $(document).ready(function(){
$("#aumentar").fontSizer({
action: "up"
});
$("#disminuir").fontSizer({
action: "down",
});
});</pre>
</li>
<li>Eso es. El único parámetro obligatorio es indicar la acción de cada link mediante <em>action</em>. Los parámetros son:
<ul>
<li><em>action: &#8220;up/down&#8221;</em> (requerido).</li>
<li><em>elements: &#8220;elemento&#8221;</em> (un id, class o etiqueta donde actuará el cambio de tamaño de fuente).</li>
<li><em>increment: número</em> (en cuántos pasos serán el cambio de tamaño; por defecto es de 1 en 1).</li>
<li><em>max: número</em> (tamaño máximo del tamaño de fuente; por defecto es 30px).</li>
<li><em>min: número</em> (tamaño mínimo del tamaño de fuente; por defecto es 8px).</li>
</ul>
</li>
</ol>
<p style="text-align: justify;">Por ahora solo ha sido probado con <em>jQuery 1.2.6</em>, pero no debería de tener problemas con versiones desde <em>1.2+</em></p>
<p style="text-align: justify;"><a class="bajar" title="Descargar  jQuery plugin: fontSizer y JS" href="http://www.haciendoweb.cult.cu/wp-content/plugins/download-monitor/download.php?id=25" target="_blank">Descargar ejemplo y JS</a></p>
<p style="text-align: justify;">Fuente: <a target="_blank" title="Fuente" href="http://www.csslab.cl/2008/08/07/jquery-plugin-fontsizer/" target="_blank">csslab</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/jquery-plugin-fontsizer-aumento-disminucion-del-tamano-de-fuentes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jQuery Timelinr, ver ejemplos y descargar el plugin</title>
		<link>http://www.haciendoweb.cult.cu/jquery-timelinr-ver-ejemplos-y-descargar-el-plugin/</link>
		<comments>http://www.haciendoweb.cult.cu/jquery-timelinr-ver-ejemplos-y-descargar-el-plugin/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 03:44:00 +0000</pubDate>
		<dc:creator>Juan Pablo Pérez Manes</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Códigos]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.haciendoweb.cult.cu/?p=1838</guid>
		<description><![CDATA[Este sencillo plugin ayuda a que le des más vida y estilo a las aburridas líneas de tiempo. Soporta diagramaciones horizontales y verticales, y puedes parametrizar la mayoría de los atributos: velocidades, transparencias, etc.
Nueva versión disponible, 0.9.4
Configuración:

Incluye la librería jQuery y luego este plugin:

&#60;script src="js/jquery-1.6.1.min.js" type="text/javascript"&#62;&#60;/script&#62;
&#60;script src="js/jquery.timelinr-0.9.js" type="text/javascript"&#62;&#60;/script&#62;

Inicialízalo con los parámetros por defecto:

&#60;script type="text/javascript"&#62;
  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/10/jQuery-Timelinr.jpg"><img class="alignleft size-thumbnail wp-image-1839" title="jQuery Timelinr" src="http://www.haciendoweb.cult.cu/wp-content/uploads/2011/10/jQuery-Timelinr-e1318131309439-150x69.jpg" alt="jQuery Timelinr" width="150" height="69" /></a>Este sencillo plugin ayuda a que le des más vida y estilo a las aburridas líneas de tiempo. Soporta diagramaciones horizontales y verticales, y puedes parametrizar la mayoría de los atributos: velocidades, transparencias, etc.<span id="more-1838"></span></p>
<blockquote><p>Nueva versión disponible, 0.9.4</p></blockquote>
<h4 style="text-align: justify;">Configuración:</h4>
<ul style="text-align: justify;">
<li>Incluye la librería <strong>jQuery</strong> y luego este plugin:</li>
</ul>
<pre class="brush: javascript; gutter: true">&lt;script src="js/jquery-1.6.1.min.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/jquery.timelinr-0.9.js" type="text/javascript"&gt;&lt;/script&gt;</pre>
<ul style="text-align: justify;">
<li>Inicialízalo con los parámetros por defecto:</li>
</ul>
<pre class="brush: javascript; gutter: true">&lt;script type="text/javascript"&gt;
   $(function(){
      $().timelinr();
   });
&lt;/script&gt;</pre>
<ul style="text-align: justify;">
<li>O customízalos:</li>
</ul>
<pre class="brush: javascript; gutter: true">&lt;script type="text/javascript"&gt;
   $(function(){
      $().timelinr({
         orientation: 'horizontal',
         // valores: horizontal | vertical, por defecto horizontal
         containerDiv: '#timeline',
         // valores: cualquier etiqueta HTML ó #id, por defecto #timeline
         datesDiv: '#dates',
         // valores: cualquier etiqueta HTML ó #id, por defecto #dates
         datesSelectedClass: 'selected',
         // valores: cualquier clase, por defecto selected
         datesSpeed: 500,
         // valores: número entre 100 y 1000 (recomendado), por defecto 500 (normal)
         issuesDiv : '#issues',
         // valores: cualquier etiqueta HTML ó #id, por defecto #issues
         issuesSelectedClass: 'selected',
         // valores: cualquier clase, por defecto selected
         issuesSpeed: 200,
         // valores: número entre 100 y 1000 (recomendado), por defecto 200 (fast)
         issuesTransparency: 0.2,
         // valores: número entre 0 y 1 (recomendado), por defecto 0.2
         issuesTransparencySpeed: 500,
         // valores: número entre 100 y 1000 (recomendado), por defecto 500 (normal)
         prevButton: '#prev',
         // valores: cualquier etiqueta HTML ó #id, por defecto #prev
         nextButton: '#next',
         // valores: cualquier etiqueta HTML ó #id, por defecto #next
         arrowKeys: 'false',
         // valores: true/false, por defecto false
         startAt: 1,
         // valor: número entre 1 y el máximo de elementos, por defecto 1 (primero)
         autoPlay: 'false',
         // valor: true | false, por defecto false
         autoPlayDirection: 'forward',
         // valor: forward | backward, por defecto forward
         autoPlayPause: 2000
         // valor: número (1000 = 1 seg), por defecto 2000 (2segs)
      })
   });
&lt;/script&gt;</pre>
<ul style="text-align: justify;">
<li>El marcado <strong>HTML</strong> debe ser de la siguiente forma:</li>
</ul>
<pre class="brush: html; gutter: true">&lt;div id="timeline"&gt;
   &lt;ul id="dates"&gt;
      &lt;li&gt;&lt;a href="#"&gt;date1&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#"&gt;date2&lt;/a&gt;&lt;/li&gt;
   &lt;/ul&gt;
   &lt;ul id="issues"&gt;
      &lt;li id="date1"&gt;
         &lt;p&gt;Lorem ipsum.&lt;/p&gt;
      &lt;/li&gt;
      &lt;li id="date2"&gt;
         &lt;p&gt;Lorem ipsum.&lt;/p&gt;
      &lt;/li&gt;
   &lt;/ul&gt;
&lt;a href="#" id="next"&gt;+&lt;/a&gt; &lt;!-- opcional --&gt;
&lt;a href="#" id="prev"&gt;-&lt;/a&gt; &lt;!-- opcional --&gt;
&lt;/div&gt;</pre>
<p style="text-align: justify;"><em><a target="_blank" href="http://www.sebastiancortes.info/" target="_blank">Ícono diseñado por Sebastián Cortés</a></em></p>
<h3 style="text-align: justify;">Cambios:</h3>
<ul style="text-align: justify;">
<li>0.9.4: Agregados autoPlay, autoPlayPause y autoPlayDirection (deshabilitados por defecto).</li>
<li>0.9.3: Agregado startAt: selecciona en qué punto quieres que comience la línea de tiempo.</li>
<li>0.9.3: Solucionado bug con animación mientras presionas los botones de navegación.</li>
<li>0.9.2: Solucionado bug Firefox con event.preventDefault();</li>
<li>0.9.1: Agregado navegación por teclado, ver ejemplo vertical.</li>
<li>0.9.1: preventDefault(); agregado a las flechas.</li>
<li>0.9.1: Documentación mejorada.</li>
</ul>
<h3 style="text-align: justify;"><strong>Ver ejemplos y descargar los archivos:</strong></h3>
<p><a class="verejemplo" title="Ver demo horizontal de jQueryTimelinr" href="http://www.haciendoweb.cult.cu/wp-content/uploads/ejemplos/jQueryTimelinr_094/horizontal.html" target="_blank">Demo Horizontal</a><br />
<a class="verejemplo" title="Ver demo vertical de jQueryTimelinr" href="http://www.haciendoweb.cult.cu/wp-content/uploads/ejemplos/jQueryTimelinr_094/vertical.html" target="_blank">Demo Vertical</a><br />
<a class="verejemplo" title="Ver demo Autoplay de jQueryTimelinr" href="http://www.haciendoweb.cult.cu/wp-content/uploads/ejemplos/jQueryTimelinr_094/autoplay.html" target="_blank">Demo Autoplay</a><br />
<a class="bajar" title="Descargar plugin jQueryTimelinr y ejemplos" href="http://www.haciendoweb.cult.cu/wp-content/plugins/download-monitor/download.php?id=24" target="_blank">Descargar Plugin 09.4 + ejemplos</a></p>
<p style="text-align: justify;">Fuente: <a target="_blank" title="Fuente" href="http://www.csslab.cl/2011/08/18/jquery-timelinr/" target="_blank">CSSLAB</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haciendoweb.cult.cu/jquery-timelinr-ver-ejemplos-y-descargar-el-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
