[syntaxe] " = function()"
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 }
Code:
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; |
En effet, j'ai essayé d'écrire :
Code:
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(); |
Et je n'obtiens aucun résultat :
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)