Saltar al contenido

www. La Mandarina Mecánica .es

…ahora con internet los niños se te educan solos… Homer Simpson…

Archivo

Etiqueta: jQuery

 

En al siguente ejemplo vamos a cambiar el aspecto y comportamiento de una tabla HTML básica utilizanzo TableSorter, CSS y JavaScript.

 

Vamos a mejorar la tabla HTML básica en los siguientes aspectos:

 

-          Posibilidad de ordenar los datos, incluso por fechas.

-          Alternar los colores de cada fila.

-          Hacer que cambie el cursor cuando pasamos por encima de una fila.

-          Hacer que cambie el color de la fila al pasar con el cursor por encima.

-          Modificación de las imágenes de la cabecera en función del tipo de ordenación.

 

Algunas de estas mejoras las proporciona la librería TableSorter y otras están basadas en CSS y JavaScript (JQuery).

 

TableSorter ofrece muchas más posibilidades de personalización de las tablas HTML, para ver todas las posibilidades consultar su página web. 

 

http://tablesorter.com

 

Ficheros Necesarios:

- arrow_down.png (Imagen cabecera orden descendente)

     arrow_down
- arrow_off.png (Imagen cabecera sin orden)

     arrow_off
- arrow_up.png (Imagen cabecera orden ascendente)

     arrow_up
- jquery-1.3.js
- jquery.tablesorter.min.js
- tableSorter.html (Contiene el código del ejemplo)

continúe leyendo…

A la hora de construir cualquier página web es muy común encontrarnos con la necesidad de incluir tablas para mostrar información, HTML nos proporciona el elemento TABLE con el cual podemos mostrar la información de esta forma. Mediante CSS podemos ‘tunear’ la tabla cambiando colores, tamaños, estilos, bordes…

TableSorter es una librería javascript que apoyándose en Jquery nos proporciona la funcionalidad hacer ordenable cualquier tabla escrita con HTML, es decir, pinchando sobre la cabecera de las columnas los datos que estan por debajo se ordenan de manera ascendente o descendente.

CARACTERÍSTICAS:

  1. Permite crear tablas ordenables a partir de una tabla HTML estándar. Se hace clic sobre las cabeceras de cada columna para ordenar.
  2. Posibilidad de ordenación por defecto.
  3. Personalización de cabeceras vía CSS
  4. Ordenación Multicolumna
  5. Extensibilidad vía Widgets
  6. Mínimo tamaño.
  7. Posibilidad de ordenar por fechas, moneda, IPs…
  8. Facilidad de uso 

Para ampliar información consultar la web oficial:

http://tablesorter.com

DESCARGA:

http://tablesorter.com/docs/#Download

Descargar los ficheros:

  1.  jquery-1.3.js
  2.  jquery.tablesorter.min.js

EJEMPLO BÁSICO:

La aplicación de TableSorter es muy sencilla, básicamente son tres pasos:

1- Modificar el HEAD de la página HTML para importar jquery-1.3.js y jquery.tablesorter.min.js

<script type=”text/javascript” src=”jquery-1.3.js”></script>
<script type=”text/javascript” src=”jquery.tablesorter.min.js”></script>

 2- También dentro del HEAD introducir este código

$(document).ready(function()
    {
        $(”#idTabla”).tablesorter();
    }
);

Esto hace que cuando termine de cargar el documento HTML la librería modifique la tabla y la haga ordenable.

3- Para que TableSorter funcione correctamente la tabla HTML tiene que tener la siguiente estructura:

<TABLE id=”idTabla”>
<THEAD>
  <TR>
     <TH>Cabecera1</TH>
     <TH> Cabecera2</TH>
     <TH> Cabecera3</TH>
  </TR>
 </THEAD>
 <TBODY>
  <TR>
     <td>Dato1</TD>
     <td>Dato2</TD>
     <td>Dato3</TD>
  </TR>
  …
 </TBODY>
</TABLE>

Código Ejemplo Básico:

<HTML>
 <HEAD>
  <TITLE>Ejemplo TableSorter</TITLE>
   
  <script type=”text/javascript” src=”jquery-1.3.js”></script>
  <script type=”text/javascript” src=”jquery.tablesorter.min.js”></script>

  <script type=”text/javascript”>
   $(document).ready(function()
       {
           $(”#tabla_basica”).tablesorter();
       }
   );
  </script>
 </HEAD>
 <BODY >
  <H1>EJEMPLO TABLESORTER BASICO</H1>
  <BR>
  <H3>Tabla HTML Básica</H3>
  <TABLE id=”tabla_basica” BORDER=”1PX”>
   <THEAD>
    <TR>
       <TH>Id Usuario</TH>
       <TH>Fecha Alta</TH>
       <TH>Nick</TH>
       <TH>Perfil</TH>
    </TR>
   </THEAD>
   <TBODY>
    <TR>
       <td>001</TD>
       <td>March 17, 2009 4:16 PM</TD>
       <td>usu1</TD>
       <td>Senior</TD>
    </TR>
    <TR>
       <TD>007</TD>
       <TD>January 8, 2010 2:23 PM</TD>
       <TD>usu5</TD>
       <TD>Junior</TD>
    </TR>
    <TR>
       <TD>003</TD>
       <TD>December 3, 2009 5:54 PM</TD>
       <TD>usu9</TD>
       <TD>Master</TD>
    </TR>
    <TR>
       <TD>009</TD>
       <TD>December 25, 2009 9:24 AM</TD>
       <TD>usu3</TD>
       <TD>Junior</TD>
    </TR>
   </TBODY>
  </TABLE>
 </BODY>
</HTML>

Desde hace tiempo he estado oyendo hablar de jQuery, la verdad es que no lo había probado, y NO soy fan de java script.

¿Qué es jQuery?
Es un framework de javaScript en el cual vienen un montón de funciones capaces de implementar muchas mejoras en nuestra pagina web. Se pueden hacer efectos muy buenos, también validaciones asíncronas con AJAX….

jquery , accordion

jquery , accordion

JQuery viene instalado en wordpress en wp-admin/js desde hace ya algunas versiones(mínimo la 2.5). JQuery y Thickbox, éstos son los encargados de mostrar el efecto similar a lightbox. Esto ocurre cuando buscamos una imagen para subir y se oscurece la pantalla mostrando solo el menú contextual.
Bien pues después de echar un ojo a las librerías jQuery, Mototols solo puede decir que me ha encantado, yo creía que estos efectos solo estaban al alcance de flash y similares.
(Para ejemplo la nieve que tenemos puesta estas navidades en el Blog, y los menús que están hechos con el famoso ‘accordion’).

En esta web http://docs.jquery.com tenéis demos de jQuery y bastantes tutoriales. (En ingles)

¿Que necesitamos para utilizar jQuery?

Obviamente asegurarnos de cargar las librerías (sino tienes wordpress o es menor que 2.5 tendrás que subirtelas a tu servidor), en alguna parte de tu Web tienes que cargar las librerías con algo parecido a:
<script type=”text/javascript” src=”/ruta/donde/esta/jquery.js”></script>
Aunque también puedes cargar las que google pone a tu disposición:
<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js” type=”text/javascript”></script>

En este ejemplo con jQuery, quiero realizar el típico menú acordeon, en tres pasos.
PASO UNO.
Primero subo el css (hoja de estilo).
Algo parecido a:

accordion {
width: 200px;
border-bottom: solid 1px #24c3c4;
}
.accordion h3 {
background: #e9e7e7;
padding: 7px 15px;
margin: 0;
font: bold 120%/100% Arial, Helvetica,  Arial;
border: solid 1px #c4c2c4;
border-bottom: none;
cursor: pointer;
}
.accordion h3:hover {
background-color: #e3e2e2;
}
.accordion h3.active {
background-position: right 5px;
}
.accordion p {
background: #f7f7f7;
margin: 0;
padding: 10px 15px 20px;
border-left: solid 1px #c4c4c4;
border-right: solid 1px #c4c4c4;
}

En mi caso lo agregué directamente al css del tema, o sea en “style.css” que se que wordpress lo carga siempre.
Así me ahorro tener que cargar la hoja de estilos que he subido. Si no lo haces así tendrás que cargarla.
PASO DOS.
Luego pongo los elementos del acordeon.

<div class=”accordion”>
<h3>Blog</h3>
<p>el texto</p>
<h3>Entradas</h3>
<p>el texto</p>
<h3>Encuestas</h3>
<p>el texto</p>
<h3>Objetos</h3>
<p>el texto</p>
<h3>Herramientas</h3>
<p>el texto</p>
</div>

PASO TRES.
Y por último, pongo como quiero que funcione.

<script type=”text/javascript”>
$(document).ready(function(){
$(”.accordion h3:first”).addClass(”active”);
$(”.accordion p:first(:first)”).hide();
$(”.accordion p:not(:first)”).hide();
$(”.accordion h3″).click(function(){
$(this).next(”p”).slideToggle(”slow”)
.siblings(”p:visible”).slideUp(”slow”);
$(this).toggleClass(”active”);
$(this).siblings(”h3″).removeClass(”active”);
});
});
</script>

Si queréis hacerlo mas fácil todavía, con wordpress podéis añadir un widget y copiar en él, el paso tres seguido del paso dos. Es un poco más “desordenado”, pero tienes el mismo resultado.