Je trouve this récalcitrant
Je n'ai pas vraiment compris pourquoi, mais JQuery n'est pas si simple qu'il n'y parait à utiliser :
ce code ne marche pas correctement :
Voici le script JS qui est dans la page HTML :
Code:
1 2 3 4 5 6 7 8 9 10
|
var tab_img=["imgPromo1","imgPromo2","imgPromo3","imgPromo4","imgPromo5","imgPromo6"];
jQuery.each(tab_img, function() {
$('#'+this).mouseover(function(e){ affImgGrand(this,e.pageX,e.pageY) });
$('#'+this).mouseout(function(e){ cachImgGrand(this)});
}); |
C'est simple, il déclenche le lancement de addImgGrand contenu dans un fichier JS externe, sa fonction est d'afficher les images en grand contenue dans un <div> (de imgPromo1 à imgPromo6) :
<div id="imgPromo1" style="display:none"><img src="monimg.gif" class="truc"></div> (remarquez qu'au démarrage il est cachée par style="display:none").
Quant à cachImgGrand() il fait disparaitre notre <div>, quelque chose m'a échappé ?! "this" ne semble pas être sous la bonne forme en arrivant dans la fonction, car je récupère un objet (testé avec alert() )!
Mes 2 fonctions externes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
function affImgGrand(eltId,x,y)
{
eltId=eltId+"-Gde";
$("#"+eltId).css("left",20+x+"px");
$("#"+eltId).css("top",20+y+"px");
$("#"+eltId).show();
}
function cachImgGrand(eltId)
{
eltId=eltId+"-Gde";
$("#"+eltId).hide();
} |