06-03-2010, 10:09 PM
(Modification du message : 06-03-2010, 10:10 PM par Sephi-Chan.)
Pas forcément Allwise, il suffit que son script externe patiente jusqu'à ce que le DOM soit complètement chargé. On peut le faire comme tu l'indiques avec onload mais ça n'est pas une façon propre de faire (car on écrase les éventuels comportements actuels au lieux d'en ajouter) : mieux vaut utiliser les eventListeners de Javascript (qui ont le défaut de poser quelques problèmes de compatibilité) ou mieux encore : utiliser une librairie qui t'évitera de maintenir plusieurs versions de ton code (à cause des différences entre navigateurs).
Avec jQuery ça donne :
Ton usage est effectivement une possibilité : ça a l'avantage d'être simple et fonctionnel.
Tu peux aussi utiliser des objets en Javascript, ça permet de concentrer la logique propre à un élément et éviter les collisions de variables. Ça demande un niveau un peu plus avancé en Javascript.
Une autre approche est de transmettre tes données à Javascript grâce à HTML, comme je le montrais dans une autre discussion. C'est une fonctionnalité qu'officialise HTML5, mais ça fonctionne déjà partout (puisqu'on utilise juste des attributs).
Par exemple :
Ensuite, récupérer tes données est un jeu d'enfant et ça te permet d'avoir tout ton Javascript dans le script externe.
Je pense que cette technique est la meilleur chose à faire.
En revanche, pour être certain d'avoir un code robuste, je te conseiller d'utiliser une librairie comme Prototype, MooTools ou jQuery.
Sephi-Chan
Ps : De rien pour le titre, c'est pour utiliser le récent mécanisme de tag et être encore plus précis (mais le titre initial était largement convenable).
Avec jQuery ça donne :
$(document).ready(function(){
// Tout ce que tu veux…
});
Ton usage est effectivement une possibilité : ça a l'avantage d'être simple et fonctionnel.
Tu peux aussi utiliser des objets en Javascript, ça permet de concentrer la logique propre à un élément et éviter les collisions de variables. Ça demande un niveau un peu plus avancé en Javascript.
Une autre approche est de transmettre tes données à Javascript grâce à HTML, comme je le montrais dans une autre discussion. C'est une fonctionnalité qu'officialise HTML5, mais ça fonctionne déjà partout (puisqu'on utilise juste des attributs).
Par exemple :
<div class="slide content-page" id="slide-2" data-type="content_page" data-current-step="0" data-steps="3">
<!-- … -->
</div>
Ensuite, récupérer tes données est un jeu d'enfant et ça te permet d'avoir tout ton Javascript dans le script externe.
var slide = $('slide:first');
slide.attr('data-current-step') // Retourne "0".
// Encore mieux, tu peux changer ces valeurs en cours de route !
slide.attr('data-current-step', '24');
Je pense que cette technique est la meilleur chose à faire.
En revanche, pour être certain d'avoir un code robuste, je te conseiller d'utiliser une librairie comme Prototype, MooTools ou jQuery.
Sephi-Chan
Ps : De rien pour le titre, c'est pour utiliser le récent mécanisme de tag et être encore plus précis (mais le titre initial était largement convenable).