Bonjour,
J'ai fait un petit script pour changer certaines de mes images lorsqu'on les survole avec la souris. Ce qui donne :
Mon problème, c'est que si l'image 'over' n'a pas été chargé et que je survole un lien-image, le navigateur me remplace l'image par le texte contenu dans l'attribut 'alt'. Ainsi, j'ai rajouté la condition sur la valeur de newImage.complete mais cela semble ne pas fonctionner. Étrange car sur un autre site, le même script fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 function changerImage(event) { Event.stop(event); var image = Event.element(event).src; var newImage = new Image(); newImage.src = image.substring(0, image.lastIndexOf('.')) + "-over.png"; if(newImage.complete) { Event.element(event).src = image.substring(0, image.lastIndexOf('.')) + "-over.png"; } } function resetImage(event) { Event.stop(event); var image = Event.element(event).src; var newImage = new Image(); newImage.src = image.substring(0, image.lastIndexOf('-')) + ".png"; if(newImage.complete) { Event.element(event).src = image.substring(0, image.lastIndexOf('-')) + ".png"; } } function chargerImages() { var images = document.getElementsByClassName('aimage'); var length = images.length; for(var i = 0; i < length; i++) { Event.observe(images[i], 'mouseover', changerImage); Event.observe(images[i], 'mouseout', resetImage); } } Event.observe(window, 'load', chargerImages, false);
Voyez-vous une erreur évidente que mes yeux de débutant auraient loupé ? Connaissez-vous un meilleur moyen de réaliser ce que je veux ?
Merci à vous![]()
Partager