[String] Concaténation représentant une commande
Le scrit suivant me permet de change une image au passage de la souris :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<script language="JavaScript">
// PRELOADING IMAGES
if (document.images) {
img1_on =new Image(); img1_on.src ="./vignettes/aeronautiqueEncastre.gif";
img1_off=new Image(); img1_off.src="./vignettes/vAeronautiqueEncastre.gif";
}
function handleOver(num) {
{
var str1 = "img";
var str2 = num;
var str3 = "_on.src";
var str = str1 + str2 + str3;
document.imgName.src= img1_on.src;
// document.write (str);
}
}
function handleOut() {
if (document.images) document.imgName.src=img1_off.src;
}
</script> |
Si je change la ligne de la méthode handleOver(num) :
Code:
1 2
|
document.imgName.src= img1_on.src; |
par :
Code:
1 2
|
document.imgName.src= str; |
La chaîne str est bien le nom de l'image à charger mais le chargement ne se fait pas. Pourquoi ? :?:
Merci. :wink:
Re: [String] Concaténation représentant une commande
Citation:
Envoyé par Mister Nono
Code:
1 2
|
document.imgName.src= str; |
str = "imgX_on.src";
d'ou document.imgName.src = "imgX_on.src"; qui n'est pas une adresse valide d'image.
Tu ne veux pas que la valeur de str soit égale à la valeur de imgName.src mais que la imgName.src soit égale à la valeur de la valeur de str.
Donc il faut un eval:
Code:
1 2
|
document.imgName.src= eval(str); |
:idea: c'est quand même logique.... :idea: