![]() |
Forum SELFHTML: Archives: |
Le message suivant est de: André,
anadeau@ccapcable.com, 07. 05. 2007, 19:54
http://www.carrefourcc.org/bibliotheque
J'ai créé une page Web avec une image qui change au passage de la sourie. Il fonction pourtant bien. Mais le validadeur dit que j'ai une erreur car je ne peux utiliser la fonction onload avec Img.
Voici mon script de base entre <HEAD> et </HEAD>
<script language="Javascript" type="text/javascript">
<!-- Permuter une image
function Permut (flag,img) {
if (document.images) {
if (document.images[img].permloaded) {
if (flag==1) document.images[img].src = document.images[img].perm.src
else document.images[img].src = document.images[img].perm.oldsrc
}
}
}
function preloadPermut (img,adresse) {
if (document.images) {
img.onload = null;
img.perm = new Image ();
img.perm.oldsrc = img.src;
img.perm.src = adresse;
img.permloaded = true;
}
}
// -->
</script>
Pour voici l'endroit ou ça ne marche pas du moins pour le validateur entre <body>
<a href="javascript:history.back()" onmouseover="Permut(1,'IMG1');" onmouseout="Permut(0,'IMG1');">
<img src="Images/retour.gif" name="IMG1" onload="preloadPermut(this,'Images/retour1.gif');"border="0" align="right" hspace="4" alt="Retour à la Page précédante"></a>
Chose encore plus curieuse j'ai une autre page presque identique et cette page passe le test du validateur.
Merci de m'aider
Le message suivant est de: Bartouille,
bertrand.wattel_pasDeSpam@free.fr, 10. 05. 2007, 00:06
http://mythes.foret.free.fr
Bonsoir,
Je ne vois pas le problème en ce qui concerne le validateur qui tient certainement plus d'un bug car l'évènement onload fait partie des évènements d'un objet image. Par contre, je ne suis pas certain de sa bonne implémentation dans les différents navigateurs. Peut-être est-ce également pour cela que le validateur retourne une erreur.
En revanche, je ne vois pas l'utilité d'y faire recours de cette manière. Pourquoi ne pas y faire appel dans le onload du body ? C'est, si j'ose dire, la procédure courante et en terme de logique, c'est assez cohérent.
Perso, je n'utilise plus que les CSS pour les effets rollover car ils fonctionnent sans recours à du javascript et contourne le problème du préchargement.
Bon courage,
Bartouille
Le message suivant est de: André,
anadeau@ccapcable.com, 10. 05. 2007, 03:52
http://www.carrefourcc.org/bibliotheque
Merci de ta réponse. Mais vois-tu je suis pas un programmeur de javascript, je me dirais plus un utilisateur de copier/coller.
Je comprends que je pourrais utiliser «onload» dans la balise <body> mais j'ai 5 images rollever sur une même page et de plus il apparaissent autant dans le haut de la page que du bas de la même page.
Je crois que j'ai de besoin d'une aide plus profonde.
Par contre j'aime bien l'idée du css mais comment faire ?
Le message suivant est de: Bartouille,
bertrand.wattel_pasDeSpam@free.fr, 11. 05. 2007, 01:21
http://mythes.foret.free.fr
Bonsoir,
Pour le préchargement de plusieurs images, étant donné qu'elles sont connus dès le départ, on peut faire ainsi (code tapé à la rache) :
function preloadImages()
{
img1 = new Image;
img1.src = 'menu1.jpg'
img2 = new Image;
img2.src = 'menu2.jpg' //Et ainsi de suite
}
<body onload="preloadImages()">
Il est bien sur possible de raffiner fortement la fonction pour automatiser le processus. Dans tous les cas, on a recours à du javascript et on s'expose à des problèmes côté utilisateur.
Pour les rollovers en css, il y a un excellent tuto sur alsacréations :
http://css.alsacreations.com/Tutoriels-et-articles-divers/roll-over-css-image-unique
Bon courage,
Bartouille
Le message suivant est de: André,
anadeau@ccapcable.com, 17. 05. 2007, 03:08
Bonsoir Bartouille
Merci des renseignements je vais regarder le site il semble intéressant.
Merci
© 1998-2004
selfhtml@fr.selfhtml.org