ragmo
Messages postés10Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention16 juillet 2009
-
13 juil. 2009 à 21:22
sltcoach
Messages postés1Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention28 juillet 2009
-
28 juil. 2009 à 17:00
Bonjour,
J'ai besoin d'aide concernant l'affichage d'une infobulle contenant une image qui s'affiche au survole d'une vignette. Comme ça l'internaute n'est pas obliqué de clique pour offrir un popup puis le fermer pour voir l'image en taille réelle. Si en parcourant les vignette une image lui plaît il peut cliquer la vignette et une page détaillée s'affiche. En fait c'est un peu pareil que le zoom, mais je préfère quand même.
J'ai trouvé un script JS : c'est une sorte de combinaison JS + CSS. Le problème c'est que l'image affichée celle qui s'affiche par dessus de la vignette
clignotte
, et j'ai l'impression la page et l'image se recharge indéfiniment et automatoquement tant que le curseur est par dessus la vignette. Ce comportement arrive de temps en temps et pas sur toutes les images et seulement surInternet Explorer
Je crois que c'est un problème CSS : une combinaison deDisplay : block + Position : absoluteou autre, je n'y vois plus rien et je rends mon tablier.
Partie JavaScript :
function move(e) {
if(i) { // Si la bulle est visible, on calcul en temps reel sa position ideale
if (navigator.appName!= "Microsoft Internet Explorer") { // Si on est pas sous IE
GetId("curseur").style.left=e.pageX + 5+"px";
GetId("curseur").style.top=e.pageY -200+"px";
}
else { // Modif proposé par TeDeum, merci à lui
if(document.documentElement.clientWidth>0) {
GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px";
GetId("curseur").style.top=-300+event.y+document.documentElement.scrollTop+"px";
} else {
GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px";
GetId("curseur").style.top=-200+event.y+document.body.scrollTop+"px";
}
}
}
}
function montre(text) {
if(i==false) {
GetId("curseur").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
GetId("curseur").innerHTML = text; // on copie notre texte dans l'élément html
i=true;
}
}
function cache() {
if(i==true) {
GetId("curseur").style.visibility="hidden"; // Si la bulle est visible on la cache
i=false;
}
}
document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle.
//-->
sltcoach
Messages postés1Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention28 juillet 2009 28 juil. 2009 à 17:00
Car quand tu passes sur ton image, ton infobulle passe dessus donc tu n'es plus sur ton image donc l'infobulle disparait donc tu es sur ton image et l'infobulle apparait... ainsi de suite d'ou l'effet de clignotement...