cs_Micke7
Messages postés17Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention 2 avril 2009
-
1 sept. 2008 à 19:59
cs_Micke7
Messages postés17Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention 2 avril 2009
-
4 sept. 2008 à 12:35
Bonjour,
Le code ci-dessous ne fonctionne pas sous firefox et moyennement sous Opera. Il arrive même qu'il buggue sous IE.
J'aimerais donc savoir si quelqu'un pouvait m'aider à l'améliorer afin que celui soit supporté de maniére optimale par au moins ces 3 navigateurs.
Le but de ce code est d'afficher à coté du curseur, le profil de la personne que l'utilisateur survole.
Code :
function GetId(id)
{
return document.getElementById(id);
}
var i=false; // La variable i nous dit si le profil est visible ou non
function move(e) {
if(i) { // Si le profil est visible, on calcul en temps reel sa position ideale
if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
GetId("profil_survol").style.left=e.pageX + 5+"px";
GetId("profil_survol").style.top=e.pageY + 10 +"px";
}
else {
if(document.documentElement.clientWidth>0) {
GetId("profil_survol").style.left=event.x+document.documentElement.scrollLeft+5+"px";
GetId("profil_survol").style.top=event.y+document.documentElement.scrollTop+10+"px";
}
else {
GetId("profil_survol").style.left=event.x+document.body.scrollLeft+5+"px";
GetId("profil_survol").style.top=event.y+document.body.scrollTop+10+"px";
}
}
}
}
function montre(text) {
if(i==false) {
GetId("profil_survol").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
GetId("profil_survol").innerHTML = text; // on copie notre texte dans l'élément html
i=true;
}
}
function changeProfil(id_profil){
if (id_profil==0){
document.getElementById("profil_survol").innerHTML = "";
}
else{
xhr = new XMLHttpRequest();
xhr.open("get", "http://dunksession.free.fr/test.php?id_dunkeur=" + id_profil, false);
xhr.send(null);
montre(xhr.responseText);
}
}
function cache() {
if(i==true) {
GetId("profil_survol").style.visibility="hidden"; // Si le profil 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 du profil.
Coté HTML cela donne ça
Code :
[index.php?page=profil.php&profil=<?php echo $donneesprof['id_profil'] ?>' <?php echo $pseudo_d ;???>]
cs_Micke7
Messages postés17Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention 2 avril 2009 1 sept. 2008 à 20:09
Bonjour,
Le code ci-dessous ne fonctionne pas sous firefox et moyennement sous Opera. Il arrive même qu'il buggue sous IE. J'aimerais donc savoir si quelqu'un pouvait m'aider à l'améliorer afin que celui soit supporté de maniére optimale par au moins ces 3 navigateurs.
Le but de ce code est d'afficher à coté du curseur, le profil de la personne que l'utilisateur survole.
Code :
function GetId(id)
{
return document.getElementById(id);
}
var i=false; // La variable i nous dit si le profil est visible ou non
function move(e) {
if(i) { // Si le profil est visible, on calcul en temps reel sa position ideale
if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
GetId("profil_survol").style.left=e.pageX + 5+"px";
GetId("profil_survol").style.top=e.pageY + 10 +"px";
}
else { // Modif proposé par TeDeum, merci à lui
if(document.documentElement.clientWidth>0) {
GetId("profil_survol").style.left=20+event.x+document.documentElement.scrollLeft+"px";
GetId("profil_survol").style.top=10+event.y+document.documentElement.scrollTop+"px";
}
else {
GetId("profil_survol").style.left=20+event.x+document.body.scrollLeft+"px";
GetId("profil_survol").style.top=10+event.y+document.body.scrollTop+"px";
}
}
}
}
function montre(text) {
if(i==false) {
GetId("profil_survol").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
GetId("profil_survol").innerHTML = text;
i=true;
}
}
function changeProfil(id_profil){
xhr = new XMLHttpRequest();
xhr.open("get", "http://dunksession.free.fr/test.php?id_dunkeur=" + id_profil, false);
xhr.send(null);
montre(xhr.responseText);
}
function cache() {
if(i==true) {
GetId("profil_survol").style.visibility="hidden"; // Si le profil 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 du profil.
Coté HTML cela donne :
[index.php?page=profil.php&profil=<?php echo $donneesprof['id_profil'] ?>' <?php echo $pseudo_d ;???>]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 sept. 2008 à 07:53
bonjour,
affiche ta source dans un éditeur de texte pas ton produit habituel
tu pourra copier coller correctement, car là c'est illisible
néanmoins :
>> Le code ci-dessous ne fonctionne pas sous firefox et moyennement sous Opera. Il arrive même qu'il buggue sous IE.
certes, certes.. mais déjà quand est appelée la function changeProfil(id_profil) ?
cs_Micke7
Messages postés17Date d'inscriptionjeudi 21 septembre 2006StatutMembreDernière intervention 2 avril 2009 4 sept. 2008 à 12:23
Bonjour Bultez,
Ma soure vient d'un copier colelr de mon PSPAD et de wordpad pour la seconde...opéra doit faire des caprices.
Sinon j'ai résolu mon probléme, en passant par la bibliothéque Jquery,ce qui d'une part est plus rapide et d'autre part est compatible avec mes navigateurs précédemment cités.
Encore merci de t'être attardé sur ce post trés illisible .