SlideShare una empresa de Scribd logo
1 de 16
 
11 tips para optimizar el uso de jQuery como framework de JavaScript
Optimizar los selectores utilizando el modelo "r2l" (right to left) $(“#id div.class2”) Sizzle es una librería creada por el mismo Resign que se especializa en la selección de elementos dentro del HTML, esta librería utiliza el modelo r2l, o sea busca primero los elementos secundarios (div.class2) y luego compara contra los elementos padres. Por lo tanto es mejor optimizar el segundo selector.
Utilizar live() en vez de click() $(elemento).live('click') Al llamar a un evento directamente este debe cumplir con el requisito obligatorio de ser leído por el DOM. El problema es que si éste es alterado por medio de otro factor y modifica la estructura del HTML inicial el evento queda "desactualizado". La mejor forma es tener un vigilante que esté al tanto de cada modificación y la almacene en una memoria interna.
Utilizar punteros para evitar conflictos Si algo ha hecho famoso a jQuery es la compatibilidad con distintos frameworks gracias al método noConflict() Por dentro crea un alias al signo dólar ($) con un nombre de referencia (jQuery)  
Ejemplo 1 jQuery.noConflict(); // Do something with jQuery jQuery("div p").hide(); Ejemplo 2 var j = jQuery.noConflict(); // Do something with jQuery j("div p").hide();
Ejemplo 3 jQuery.noConflict(); (function($) {    $(function() {     // more code using $ as alias to jQuery   }); })(jQuery); // other code using $ as an alias to the other library Usado por Drupal
Utilizar find() Para estructuras complejas o en las que no se tienen el control la mejor forma de ubicar elementos es con el find() ya que le da un plus al performance del selector.  var panels = $('div.panel', $('#content'));   utilizando find()   var panels=$('#content').find('div.panel');
Utilizar callbacks para sincronizar efectos $('#sliding').slideDown('slow', function(){          $('#sliding').slideUp('slow');   });           La mejor forma de lograr que los efectos estén bien sincronizados, además se podría extender más para abajo.
Método css El método css se encarga de darle estilos al elemento seleccionado. $('div.panel').css('color', 'red');   Pero si se desean aplicar muchos estilos lo mejor es recurrir al tag: $('<style type=&quot;text/css&quot;> div.class { color: red; } </style>').appendTo('head');   O bien utilizar el método addClass y setearla en la hoja de estilos.  
Sizzle compatible con Google Page Speed Con este plugin de firebug ya se puede testear los selectores utilizados en jQuery.
Agrupar en un mismo script una ejecución para varios eventos 2 tips en 1: jQuery es capaz de detectar los eventos que realizan una acción y lo contrario. $(&quot;p&quot;).bind(&quot;mouseenter mouseleave&quot;,       function(e){                                     $(this).toggleClass(&quot;mouse-over&quot;);       });
Detectar el navegador $.browser.safari $.browser.msie -> $.browser.version <= 6 $.browser.mozilla $.browser.opera $.browser.chrome
Utilizar las versiones comprimidas Para un mejor tiempo de carga en la página, el uso de librerías comprimidas (minifield) ayudará a reducir el peso del js. Muchos plugins poseen esa opción de descarga también.    También existen herramientas para comprimir nuestros propios scripts.
Aprender sobre los métodos menos conocidos Es parte del aprendizaje, aunque jQuery sea un framework en constante actualización, es muy importante leer sobre los distintos métodos que existen. Unos que pueden ayudar map(), slice(), stop(), queue(), dequeue(), prevAll() o inArray().
$(document).has('finished');

Más contenido relacionado

La actualidad más candente

Object Oriented Javascript
Object Oriented JavascriptObject Oriented Javascript
Object Oriented JavascriptGabriel Chertok
 
Esctructura basica-pagina-asp
Esctructura basica-pagina-aspEsctructura basica-pagina-asp
Esctructura basica-pagina-aspAhome Pocasangre
 
Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)
Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)
Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)Luis Enrique Hernadez
 
Lima hack 2011
Lima hack 2011Lima hack 2011
Lima hack 2011Dedalo-SB
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jqueryAngelDX
 
Introducción a la Programación con Javascript. Clase 3
Introducción a la Programación con Javascript. Clase 3Introducción a la Programación con Javascript. Clase 3
Introducción a la Programación con Javascript. Clase 3xjordi
 
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasCurso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasDavid Vaquero
 

La actualidad más candente (14)

Object Oriented Javascript
Object Oriented JavascriptObject Oriented Javascript
Object Oriented Javascript
 
While n
While nWhile n
While n
 
jQuery y ASP
jQuery y ASPjQuery y ASP
jQuery y ASP
 
Angular Conceptos Practicos 2
Angular Conceptos Practicos 2Angular Conceptos Practicos 2
Angular Conceptos Practicos 2
 
Esctructura basica-pagina-asp
Esctructura basica-pagina-aspEsctructura basica-pagina-asp
Esctructura basica-pagina-asp
 
Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)
Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)
Operaciones Aritméticas HTML5 & JavaScript (Ejercicio Practico)
 
Lima hack 2011
Lima hack 2011Lima hack 2011
Lima hack 2011
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
Introducción a la Programación con Javascript. Clase 3
Introducción a la Programación con Javascript. Clase 3Introducción a la Programación con Javascript. Clase 3
Introducción a la Programación con Javascript. Clase 3
 
AngularJS
AngularJSAngularJS
AngularJS
 
Taller de Jquery
Taller de JqueryTaller de Jquery
Taller de Jquery
 
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-EtiquetasCurso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
Curso de Struts 2: Unidad Didáctica 03 Tags-Etiquetas
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 

Similar a 11 tips para optimizar el uso de jQuery como framework de JavaScript

Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Fátima Casaú Pérez
 
Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesdeivit86
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryDavid Arango
 
Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicketAdrià Solé Orrit
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS Marcos Reynoso
 
Mallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETMallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETEmilio Torrens
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibalesbriant pati
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibalesbriant pati
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibalessbriant pati
 
Java Script Frame Works
Java Script Frame WorksJava Script Frame Works
Java Script Frame Workshectorguedea
 
jQuery
jQueryjQuery
jQueryCoya14
 

Similar a 11 tips para optimizar el uso de jQuery como framework de JavaScript (20)

Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
 
Taller de Grails
Taller de GrailsTaller de Grails
Taller de Grails
 
Android Superstar - Buenas Prácticas
Android Superstar - Buenas PrácticasAndroid Superstar - Buenas Prácticas
Android Superstar - Buenas Prácticas
 
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
 
Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensiones
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Clase 12 jQuery basico
Clase 12  jQuery basicoClase 12  jQuery basico
Clase 12 jQuery basico
 
Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicket
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
Mallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NETMallorca MUG: MongoDB y .NET
Mallorca MUG: MongoDB y .NET
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibales
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibaless
 
Ajax
AjaxAjax
Ajax
 
Java Script Frame Works
Java Script Frame WorksJava Script Frame Works
Java Script Frame Works
 
jQuery
jQueryjQuery
jQuery
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

11 tips para optimizar el uso de jQuery como framework de JavaScript

  • 1.  
  • 2. 11 tips para optimizar el uso de jQuery como framework de JavaScript
  • 3. Optimizar los selectores utilizando el modelo &quot;r2l&quot; (right to left) $(“#id div.class2”) Sizzle es una librería creada por el mismo Resign que se especializa en la selección de elementos dentro del HTML, esta librería utiliza el modelo r2l, o sea busca primero los elementos secundarios (div.class2) y luego compara contra los elementos padres. Por lo tanto es mejor optimizar el segundo selector.
  • 4. Utilizar live() en vez de click() $(elemento).live('click') Al llamar a un evento directamente este debe cumplir con el requisito obligatorio de ser leído por el DOM. El problema es que si éste es alterado por medio de otro factor y modifica la estructura del HTML inicial el evento queda &quot;desactualizado&quot;. La mejor forma es tener un vigilante que esté al tanto de cada modificación y la almacene en una memoria interna.
  • 5. Utilizar punteros para evitar conflictos Si algo ha hecho famoso a jQuery es la compatibilidad con distintos frameworks gracias al método noConflict() Por dentro crea un alias al signo dólar ($) con un nombre de referencia (jQuery)  
  • 6. Ejemplo 1 jQuery.noConflict(); // Do something with jQuery jQuery(&quot;div p&quot;).hide(); Ejemplo 2 var j = jQuery.noConflict(); // Do something with jQuery j(&quot;div p&quot;).hide();
  • 7. Ejemplo 3 jQuery.noConflict(); (function($) {   $(function() {     // more code using $ as alias to jQuery   }); })(jQuery); // other code using $ as an alias to the other library Usado por Drupal
  • 8. Utilizar find() Para estructuras complejas o en las que no se tienen el control la mejor forma de ubicar elementos es con el find() ya que le da un plus al performance del selector. var panels = $('div.panel', $('#content'));   utilizando find()   var panels=$('#content').find('div.panel');
  • 9. Utilizar callbacks para sincronizar efectos $('#sliding').slideDown('slow', function(){          $('#sliding').slideUp('slow');   });          La mejor forma de lograr que los efectos estén bien sincronizados, además se podría extender más para abajo.
  • 10. Método css El método css se encarga de darle estilos al elemento seleccionado. $('div.panel').css('color', 'red');   Pero si se desean aplicar muchos estilos lo mejor es recurrir al tag: $('<style type=&quot;text/css&quot;> div.class { color: red; } </style>').appendTo('head');   O bien utilizar el método addClass y setearla en la hoja de estilos.  
  • 11. Sizzle compatible con Google Page Speed Con este plugin de firebug ya se puede testear los selectores utilizados en jQuery.
  • 12. Agrupar en un mismo script una ejecución para varios eventos 2 tips en 1: jQuery es capaz de detectar los eventos que realizan una acción y lo contrario. $(&quot;p&quot;).bind(&quot;mouseenter mouseleave&quot;,       function(e){                                     $(this).toggleClass(&quot;mouse-over&quot;);       });
  • 13. Detectar el navegador $.browser.safari $.browser.msie -> $.browser.version <= 6 $.browser.mozilla $.browser.opera $.browser.chrome
  • 14. Utilizar las versiones comprimidas Para un mejor tiempo de carga en la página, el uso de librerías comprimidas (minifield) ayudará a reducir el peso del js. Muchos plugins poseen esa opción de descarga también.    También existen herramientas para comprimir nuestros propios scripts.
  • 15. Aprender sobre los métodos menos conocidos Es parte del aprendizaje, aunque jQuery sea un framework en constante actualización, es muy importante leer sobre los distintos métodos que existen. Unos que pueden ayudar map(), slice(), stop(), queue(), dequeue(), prevAll() o inArray().