Gracias a jQuery UI podemos realizar acciones o efectos Javascript que normalmente nos costarían muchas líneas de código con un par de simples líneas. En este caso vamos a ver un sencillo ejemplo de cómo poder redimensionar los campos de una tabla.
Para este ejemplo he creado una página simple y he incluido jQuery y jQuery UI enlazándolos en el código desde su página principal (no olvidemos que lo deseable es descargarlos y linkarlos desde nuestra misma página):
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
Lo siguiente es crear una tabla HTML, tan básica o llena de estilos como se desee, para posteriormente añadir en la cabecera de la página el siguiente código javascript:
$(document).ready(function(){ $(".head_1").resizable(); $(".head_2").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'}); $(".head_3").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'}); $(".head_4").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'}); });
Tras el salto seguiremos explicando qué hace cada cosa.
La línea:
$(document).ready(function(){...});
ejecutará el código Javascript situado entre las llaves nada más terminar de cargar la página. Veamos qué código ejecuta. La primera línea es como sigue:
$(".head_1").resizable();
Esta línea aplica la posibilidad de redimensionar un elemento a todas aquellas etiquetas que tengan la clase «head_1» (en el código, class=»head_1″). Pero claro, aplica la redimensión tanto horizontal como verticalmente, y en el caso de las cabeceras de la tabla nos interesa que sólo se pueda redimensionar horizontalmente, como en las líneas siguientes, de las cuales analizaremos la primera:
$(".head_2").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'});
que simplemente se encarga de que, al efectuarse el resize, mantenga la altura de la fila original (antes del resize), y además que sólo se pueda redimensionar por el Este (con el » handles: ‘e’ «).
Finalmente, veamos cómo queda todo el código de la página:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <script language="javascript"> $(document).ready(function(){ $(".head_1").resizable(); $(".head_2").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'}); $(".head_3").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'}); $(".head_4").resizable({resize: function(event, ui) { ui.size.height = ui.originalSize.height;},handles:'e'}); }); </script> </head> <body> <br><br> <table align="center" style="border:1px solid #DDD;background-color:#AAA;" cellpadding="2" cellspacing="1"> <thead style="background-color:#DDD;" class="thead"> <tr> <th class="head_1" style="text-align:left;">Título 1</th> <th class="head_2" style="text-align:left;">Título 2</th> <th class="head_3" style="text-align:left;">Título 3</th> <th class="head_4" style="text-align:left;">Título 4</th> </tr> </thead> <tbody> <tr> <td style="background-color:white;">Campo 1</td> <td style="background-color:white;">Campo 2</td> <td style="background-color:white;">Campo 3</td> <td style="background-color:white;">Campo 4</td> </tr> <tr> <td style="background-color:white;">Campo 1</td> <td style="background-color:white;">Campo 2</td> <td style="background-color:white;">Campo 3</td> <td style="background-color:white;">Campo 4</td> </tr> </tbody> </table> </body> </html>
GET FREE $100.00 USD PAYPAL MONEY -> http://www.qckclk.club/?u=A4MPy <- QUICK BEFORE THEY CLOSE THEY LOOPHOLE