plasticism
Messages postés2Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention27 août 2008
-
27 août 2008 à 01:42
plasticism
Messages postés2Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention27 août 2008
-
27 août 2008 à 10:37
Bonjour,
je sèche depuis presque 2 jours sur ce script tout bête, adapté d'une source que j'ai pompé je-ne-sais-plus-où...
Il est sensé afficher une "bulle d'aide" (une div) qui suit la souris
quand elle survole un objet particulier (ici j'ai mis un lien).
Donc pour résumer : je survole, la div apparait et suit la souris, je quitte la zone, la div disparaît.
Rien de bien sorcier jusque là. Le problème c'était de savoir pourquoi
dans MA page, la div apparaît, mais au lieu de se positionner près du
curseur, elle reste à sa position originale. La console d'erreurs de
Firefox (seul navigateur testé pour le moment) m'affiche les erreurs qui seréfèrents aux lignes 36 et 37 de mon code :
Avertissement : Erreur d'analyse de la valeur pour la propriété « left ». Déclaration abandonnée.
Avertissement : Erreur d'analyse de la valeur pour la propriété « top ». Déclaration abandonnée.
var bubble = document.getElementById("infobulle");
bubble.style.visibility = "hidden";
bubble.style.display = "none";
}
</script>
</head>
[# Un lien...]
</html>
Bon maintenant le rapport avec le titre de mon post (je suis sûr que tout le monde se posait la question) c'est ça : pourquoi quand j'enlève la première ligne (le doctype), tout fonctionne ??
Et surtout : comment je peux y remédier ? (sans me passer du XHTML Strict)
Je serais éternellement reconnaissant à la ou les personnes qui pourront m'aider. Parce que là, 2 jours pour trouver que l'erreur vient d'une ligne à la con, je suis pas loin de péter un câble...
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 27 août 2008 à 09:15
Bonjour,
attendu que les unités pour
les attributs left, top etc... peuvent être des pt, mm, cm, em...ou px
il est nécéssaire de préciser l'unité que tu souhaites.
IExplorerIE par défaut semble affecter des px et FireFox ne sachant pas ne fait pas...
donc
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 27 août 2008 à 09:37
Salut,
Ton test n'est pas correct aussi, pageX indefini
voila le correctif
function get_mouse(e) { var x y 0;
if(e) {
x = e.pageX;
y = e.pageY;
}
else{
x = event.x;
y = event.y;
}
var padding = 5;
var bubble = document.getElementById("infobulle");
bubble.style.left = x + padding+ "px";
bubble.style.top = y + padding+ "px";
}