Bonjour !
Actuellement en phase de mise en production d'un site très ambitieux au niveau des effets visuels, mes collègues et moi même rencontrons un problème bien ennuyeux.
Le Javascript, sous la forme de fonctions jQuery, ralentit énormément le site. Si sur Firefox et Chrome cela reste acceptable, sur IE c'est tout simplement ignoble. A chaque chargement de page, il faut attendre de longues secondes pour pouvoir commencer à en parcourir le contenu.
J'aimerais savoir comment vous optimisez le jQuery et le javascript en général sur vos pages web. Par exemple, est-ce particulièrement lent d'aller chercher tous les éléments contenant la classe nommée "myClass" ?
Est-ce plus lent d'appliquer à un élément un évènement click par le biais de "bind", "live" ou "on" que de le faire directement à la création de l'élément avec un bon vieux onclick ?
Avoir plusieurs setTimeOut cycliques mobilise beaucoup de ressources ?
Plus globalement, n'hésitez pas e faire part de vos divers conseils.
Merci par avance !
Jeremy
Actuellement en phase de mise en production d'un site très ambitieux au niveau des effets visuels, mes collègues et moi même rencontrons un problème bien ennuyeux.
Le Javascript, sous la forme de fonctions jQuery, ralentit énormément le site. Si sur Firefox et Chrome cela reste acceptable, sur IE c'est tout simplement ignoble. A chaque chargement de page, il faut attendre de longues secondes pour pouvoir commencer à en parcourir le contenu.
J'aimerais savoir comment vous optimisez le jQuery et le javascript en général sur vos pages web. Par exemple, est-ce particulièrement lent d'aller chercher tous les éléments contenant la classe nommée "myClass" ?
Code:
$(".myClass").each(function(){...})
Est-ce plus lent d'appliquer à un élément un évènement click par le biais de "bind", "live" ou "on" que de le faire directement à la création de l'élément avec un bon vieux onclick ?
Avoir plusieurs setTimeOut cycliques mobilise beaucoup de ressources ?
Plus globalement, n'hésitez pas e faire part de vos divers conseils.
Merci par avance !
Jeremy