Olivier Miakinen a écrit :
> Le 03/05/2007 13:52, ASM a écrit :
>> var fruit = [7];
>
> Je te remercie de confirmer ma lecture de la norme.
:-)
> C'est tellement difficile à lire
Tu veux dire quasi impossible, je présume ?
Enfin ... perso, j'ai renoncé.
> que je n'étais vraiment pas sûr de moi sur ce coup.
Je ne suis jamais sûr de rien ... y a pas mieux que les tests.
>> à rapprocher de :
>> var vue = new Image();
>> var vue = new Image(125,45);
>
> Je ne connaissais pas. C'est du DOM ?
Du
JS de nos grands mères :-)
document.images = arbre des images
(comme on a ceux des forms, anchors, links ... )
déclarer une nouvelle image :
var truc = new Image();
déclarer une nouvelle image en pré-précisant sa taille
var truc = new Image(width, height);
width et height représentant largeur et hauteur (en pixels) sans unité
lui attribuer un chemin (sinon ça n'a pas beaucoup d'intérêt)
truc.src = 'chemin/de/mon/image.jpg';
Permet de pré ou post loader (pré ou post charger et post c'est mieux)
des images pour pouvoir les utiliser "dynamiquement" plus tard.
Mais :
truc = new Image();
truc.src = 'img1.png';
ne suffit pas réellement à charger l'image :
si l'utilisateur clicote pendant le chargement, ce dernier s'interrompt
(et ne reprend pas)
Utilisé simplement sous cette forme n'est réellement intéressant que si
on retrouve de page en page ce post-chargement car alors, par
l'indication du chemin, le navigateur prendra l'image déjà en cache.
Toujours en
JS de nos grands mères :
afficher cette nouvelle image à la place d'une autre déjà affichée
document.cetteImage.src = truc.src;
ou :
document.images['cetteImage'].src = truc.src;
avec :
<img name="cetteImage" src="autre_image.jpg" alt="">
Pour mémoire,
forcer le post-chargement d'une série d'images en cache
(compatible tous brouteurs depuis NC4 au moins) :
JS :
====
// tableau des chemins
// en profitant de nos nouvelles connaissances :-)
var I = ['img1.png','bidule.jpg','chose.jpg'];
// tableau vide (pour déclarer et utiliser les images)
var V = [];
// fixer le nbre d'images à charger
var i = I.length;
// fonction de chargement
function imgsLoad() {
i--;
if(i>=0) {
V[i] = new Image();
V[i].onload = imgsLoad;
V[i].src = I[i];
}
}
// post chargement
onload = imgsLoad();
HTML (exemple) :
================
<form>
Changer d'image :
<select onchange="var k=this.selectedIndex;
document.cetteImage.src = V[k].src;">
<option> image 1
<option> image 2
<option> image 3
</select>
<img name="cetteImage" src="autre_image.jpg" alt="">
</form>
>> il suffit de connaître ces particularismes :-)
>
> Tu nous en dis plus ?
var opt = new Option(text, value);
par exemple ?
--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé