Pb Js chargment d'image ... mon script est pourri - HTML/CSS - Programmation
Marsh Posté le 16-12-2002 à 19:33:15
et pis sur netscape il me sors:
JavaScript Error:
http://localhost/mon%20site%20web/javascript/layer.js, line
60:
document.fleche has no properties.
Y a plein de monde qui a lu mon ptit topic, mais moi il me faudrait quelqu'un qui m'explique pourquoi ca ne marche pas !
Si je n'y arrive pas je vais finir par utiliser les obscurs script de MM
Marsh Posté le 16-12-2002 à 20:02:45
préchargement d'image sans cassage de cul :
<img src='img.jpg' style='position: absolute; left: -4000px'>
Marsh Posté le 16-12-2002 à 22:36:42
Wow super quelqu'un qui ma répondu
Mais le trux c'est que c'est pas un script de préchargement, c'est pour changer la SOURCE d'une image existante !!!
La subtilité est la suivante, il fait une boucle jusqua que l'image soie chargé dans le tableau d'image, et une fois le chargement réalisé il change la source avec ce code:
eval("document."+ImgName+".src = Img[NbImage].src;" );
Mais ca il a pas l'air de supporter Opera et Netscape ...
Quelqu'un d'assez courageux pour lire mon code !
Marsh Posté le 16-12-2002 à 22:52:17
euh... à part alourdir ta page, ta subtilité n'a aucun intérêt. Si tu veux favoriser un ordre d'apparition des image, soit utilise les CSS, soit indique-les simplement dans des variables javascript, Moz, IE et opéra les chargeront en priorité.
Et la fonction eval fonctionne bien sous opéra 7, par contre, l'ensemble de ton code, non.
Marsh Posté le 16-12-2002 à 23:04:43
Oki ...
Il me faudrait donc une fonction en JS qui change la source d'une image ... Le CSS ca va pas être possible visiblement...
Le truc subtile avec mon script cest que je voulais qu'il charge d'abors l'image avant de faire le changement réel ... Mais bon c'est vrai que ca apporte peu de chose ...
Un liens à me proposer ? ... ou je mets juste
eval("document."+ImgName+".src) = NewSrc et ca marchera
Marsh Posté le 16-12-2002 à 23:14:10
GRRR ... rien à faire j'ai essayé tout les codes possible et ca refuse de passer ...
Marsh Posté le 17-12-2002 à 06:26:12
The Kinetics a écrit : eval("document."+ImgName+".src) = NewSrc et ca marchera |
pourquoi eval ? si tu donnes un id à ton image
<img id='myImage' src='img1.jpg'>
tu _dois_ le récupérer avec la méthode getElementById de document
document.getElementById('myImage'
tu as donc un pointeur vers ton image, suffit de changer la source de celle-ci
document.getElementById('myImage'.src = 'img2.jpg'
utiliser document.nomimage n'est dans mes souvenirs pas compatible avec netscape (ce n'est pas dans le standard).
pour le préchargement, je me cassais le cul au début, puis j'ai fait comme plus haut : l'image de rollover est chargée directement par le code html qui la met très loin à gauche, la rendant invisible.
Marsh Posté le 17-12-2002 à 21:53:09
ca je veux bien ... mais bon ca marche pas sur Opera ni sure Netscape 4.75
... Moz et IE oki ca passe, ben finalement tans pis pour les deux auttres !!! ...
Ca vient peut-être du faite que l'image est pas préchargée ... ? Qu'en pensé vous ?
Merci pour vos réponse
Marsh Posté le 08-12-2002 à 15:13:05
voila le script:
Il ne fonctionne pas très bien ... pourtant j'ai galéré pendant des heure pour qu'il marche sur la plupart des navigateurs mais rien n'y fait ! Il n'arrive pas à charger l'image la plupart du temps !
(en fait il marche bien sur IE mais pas sur Opera ) ! Pkoi ?
help
Le script en action:
www.magnin-sante.ch/dhtml/
Message édité par The Kinetics le 10-12-2002 à 19:52:29