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 : 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;
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
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)