Bonjour,

j'essaie de comprendre doucement JS, et pour l'instant, c'est encore très confus.

Lorsque l'on fait

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
18
19
20
21
function Navigation(vitesse_on,vitesse_off){
	var fadeNavIn = function(){
            $('.hover', this).stop().animate({
                'opacity': 1
            }, vitesse_on)
    };
	var fadeNavOut = function(){
            $('.hover', this).stop().animate({
                'opacity': 0
            }, vitesse_off)
    };
	$('.survol').mouseover(function(){
        fadeNavIn.apply(this)
    });
    $('.survol').mouseout(function(){
        setTimeout(function(){
            fadeNavOut.apply(this)
        }, 100)
    });
 
};
en utilisant jQuery, cela fonctionne bien (ça crée un fadein au mouseover et un fadeout au mouseout sur l'élément pointé de la class .survol).
J'ai essayé auparavant avec call, mais le comportement est étrange. Et simplement avec this, tous les boutons sont affectés au survol de n'importe lequel.

Alors plutôt que de tatonner au pif, j'aimerais comprendre !
Que représente le this, le apply(this) et le call(this) dans la fonction ? (j'ai bien lu le tuto de T.Templier, mais ça ne m'éclaire guère...)

Merci.