Bonjour, j'ai trouvé un script (servant à afficher un menu déroulant) que je n'arrive pas vraiment à comprendre.
Il utilise la syntaxe :
variable = function() { code de la fonction }
ce qui n'a apparement pas le même effet que :
function nom(arguments) { code de la fonction }
En effet, j'ai essayé d'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 startList = function() { if (document.all&&document.getElementById) { navRoot = document.getElementById("nav"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { node.onmouseover = function() { this.className+=" navOver"; } node.onmouseout = function() { this.className=this.className.replace(" navOver", ""); } } } } } window.onload=startList;
Et je n'obtiens aucun résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function affiche() { if (document.all&&document.getElementById) { navRoot = document.getElementById("nav"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { node.onmouseover = function() { this.className+=" navOver"; } node.onmouseout = function() { this.className=this.className.replace(" navOver", ""); } } } } } window.onload=affiche();
La fonction est bien 'visitée' au chargement de la page mais apparement aucun élément correspondant à l'ID "nav" n'est trouvé, alors qu'il l'est dans le premier cas...
Donc si vous pouviez m'éclairer sur ce point, je vous en serez très reconnaissant ! (je n'ai rien trouvé sur cet usage de function() dans les tutoriels)
Partager