PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2025 → [WB14] image et map area visible
[WB14] image et map area visible
Débuté par damien.arinfo, 06 mai 2009 19:46 - 1 réponse
Posté le 06 mai 2009 - 19:46
Bonjour a tous,

je reviens sur un sujet deja connu, mais il me manque juste une petite chose,
disons plutot une astuce pour realiser ce que je veux ...

Voila nous avons une image clicable definie en zone graphique (map area).
Sur survol de chaque zone, je rend visible une autre image, qui contient
juste le numéro de la zone. J'aimerai alors rendre "visible" les bordures
de la zone, sans succès.

Voici le code JS pour faire ca, avec juste une seule zone, l'image
clicable se nommant "VUEAERIENNE" et l'image "numéro de la zone"
s'appelant "IMG_NUM" (ps :j ai desactive la compression des noms) :

var mMap=document.getElementsByName("ZCVUEAERIENNE")[0];
var mArea=mMap.areas[0]
var mIMG=document.getElementById("IMG_NUM");
//on active les evenements survol et out (2 syntaxes, a cause de ie et ff)
IF (mArea.attachEvent)
{
mArea.attachEvent('onmouseover',Affiche);
mArea.attachEvent('onmouseout',Efface);
mIMG.attachEvent('onmouseover',Affiche;
mIMG.attachEvent('onmouseout',Efface);
}
ELSE IF (mArea.addEventListener)
{
mArea.addEventListener('mouseover',Affiche,False);
mArea.addEventListener('mouseout',Efface,False);
mIMG.addEventListener('mouseover',Affiche,False);
mIMG.addEventListener('mouseout',Efface,False);
}



Voic les fonctions windev navigateurs pour l'affichage (plus simple pour l opacité) :
Procedure AfficheGite()
VueAerienne..CurseurSouris=curMain
IMG_NUM..Opacité=100
[Code]
PROCEDURE EffaceGite()
VueAerienne..CurseurSouris=curFlèche
IMG_NUM..Opacité=40
[/code]

Alors dans l'idée, je voulais rendre visible la zone que l'on survol.
Dans le premier code JS (lancé sur chargement de la page), on accède
a cette zone via la map ZCVUEAERIENNE (windev prefixe le nom de l'image
par ZC pour la map), et la premiere zone est donc mArea=mMap.areas[0]
Hors il semble impossible d'appliquer un style à cette zone,
j ai essayé mArea.style.bordure="1px solid blue";
et mArea.style.visibility="visible";
mais rien n'y fait.

Je ne peux pas afficher une image sur toute la zone, puisque cette zone
est un polygone complexe, et que ca empieterait sur les autres zones.

Voila je n ai pas trouve d autres idées,
j espere que vous pourrez me debloquer !
Merdi, Dam's.
Posté le 07 mai 2009 - 13:17
Hum une idée tordue m est venue à l'esprit :

Créer pour chaque zone une image equivalente, en mode survol
(ie avec un contour ou autre graphisme) et definir sur cette
image les memes zones que sur l'image principal, avec les memes fonctions.

hum ....