Ajax et firefox

Résolu
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009 - 1 sept. 2008 à 19:59
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Derniè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 ;???>]


Merci.

6 réponses

cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009
4 sept. 2008 à 12:35
J'ai trouvé : FreeTextBox.
3
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009
1 sept. 2008 à 20:03
Heuu. Il y a moyen d'éditer?
0
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Derniè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 ;???>]



Merci
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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) ?

CordialementBul[mon Site][M'écrire], <!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Derniè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 .

Bonne journée.
0
cs_Micke7 Messages postés 17 Date d'inscription jeudi 21 septembre 2006 Statut Membre Dernière intervention 2 avril 2009
4 sept. 2008 à 12:27
Juste un petit HS, comment sait il comment avoir une text-box Word comme sur ce site SVP?
0
Rejoignez-nous