Conflit javascript ?

Conflit javascript ? - HTML/CSS - Programmation

Marsh Posté le 05-05-2007 à 16:01:46    

Bonjour,  
J'utilise deux scripts javascript sur une page : un pour afficher des infobulles, l'autre pour une pop-up.
L'infobulle fonctionnait correctement avant que je mette la pop-up en JS. Voilà le script que j'ai rajouté :  
 

Code :
  1. <script type="text/javascript">
  2.     var GB_ROOT_DIR = "http://www.aidoforum.com/includes/scripts/popupjs/";
  3. </script>
  4. <script language="javascript" type="text/javascript" src="includes/scripts/popupjs/AJS.js"></script>
  5. <script language="javascript" type="text/javascript" src="includes/scripts/popupjs/AJS_fx.js"></script>
  6. <script language="javascript" type="text/javascript" src="includes/scripts/popupjs/gb_scripts.js"></script>
  7. <link href="includes/scripts/popupjs/gb_styles.css" rel="stylesheet" type="text/css" />


 
Et quand je l'enlève, l'infobulle fonctionne du nouveau. Petit plus : lorsque je clique sur un lien qui ouvre la pop-up, et que je la ferme, les infobulles fonctionnent. Mais bon, elles fonctionnent seulement APRES avoir cliqué, donc j'aimerai qu'elles fonctionnent aussi avant :(
 
Voici la page incriminée : www.aidoforum.com/ecrire_un_tuto.php  
Compte à utiliser (formulaire de connexion à droite) : usertest/test
 
Les infobulles ne fonctionnent qu'après avec cliqué sur l'image "Envoi".  
 
Si quelqu'un peut m'aider un peu, c'est pas de refus :)
 
Merci beaucoup.


---------------
Hello hello super jello
Reply

Marsh Posté le 05-05-2007 à 16:01:46   

Reply

Marsh Posté le 07-05-2007 à 15:38:15    

Up :)
Est-ce au niveau de la déclaration des JS ? Je n'ai aucune connaissance là dedans :(


---------------
Hello hello super jello
Reply

Marsh Posté le 07-05-2007 à 15:40:21    

Probablement des variabales qui portent le même nom dans les différents script.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 09-05-2007 à 13:55:28    

Ha, d'ac.  
Je vais modifier tout ça alors, merci :)


---------------
Hello hello super jello
Reply

Marsh Posté le 09-05-2007 à 14:09:27    

Bon, il y avait deux trois variables nommées en une lettre, je les ai modifiées, et j'ai modifié les noms des fonctions, mais ça marche pas.  
 
Voici l'erreur que me donne Firebug :
http://img381.imageshack.us/img381/2433/sanstitrevp7.jpg
 
Et voici le code en question pour montre() et cache()
 

Code :
  1. function montre(texte) {
  2.   if(visibeul==false) {
  3.   GetDaId("curseur" ).style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
  4.   GetDaId("curseur" ).innerHTML = texte; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
  5.   visibeul=true;
  6.   }
  7. }
  8. function cache() {
  9. if(visibeul==true) {
  10. GetDaId("curseur" ).style.visibility="hidden"; // Si la bulle etais visible on la cache
  11. visibeul=false;
  12. }
  13. }
  14. document.onmousemove=move;


 
Je ne comprends pas pourquoi elle n'est pas définie dès que l'autre script est aussi appelé ? Un conflit de nom encore, tu penses ?


---------------
Hello hello super jello
Reply

Marsh Posté le 09-05-2007 à 18:57:16    

Je pense pas. Enfin je sais plus quel genre d'erreur génére une tentative de définition de fonction déjà définit. Je vais jeter un oeil à tes script.
Edit : Ca fonctionne bien chez moi, pas d'erreur. Tu as modifié entre temps?


Message édité par dwogsi le 09-05-2007 à 19:01:05

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 12-05-2007 à 11:53:39    

Coucou,  
 
Oui, pour l'instant la pop up en js est désactivée quand on est sur les pages de rédaction : regarde, cliques sur "contact" dans cette page, et cliques sur "contact" dans une autre page, tu verras la nette différence :D


---------------
Hello hello super jello
Reply

Marsh Posté le 12-05-2007 à 23:18:54    

pouzy a écrit :


<script language="javascript" type="text/javascript" src="includes/scripts/popupjs/AJS.js"></script>
<script language="javascript" type="text/javascript" src="includes/scripts/popupjs/AJS_fx.js"></script>
<script language="javascript" type="text/javascript" src="includes/scripts/popupjs/gb_scripts.js"></script>

 

L'attribut language, c'est de la merde.
Utiliser des majuscules dans ton url c'est un poil pourri.

 
pouzy a écrit :


Code :
  1. function montre(texte) {
  2.   if(visibeul==false) {
  3.   GetDaId("curseur" ).style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
  4.   GetDaId("curseur" ).innerHTML = texte; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
  5.   visibeul=true;
  6.   }
  7. }
  8. function cache() {
  9. if(visibeul==true) {
  10. GetDaId("curseur" ).style.visibility="hidden"; // Si la bulle etais visible on la cache
  11. visibeul=false;
  12. }
  13. }



 

J'aimerais bien comprendre pourquoi tu ne teste pas directement si l'élement est visible ou pas? Ta sécurité est inutile.

 
Code :
  1. GetDaId("curseur" )

Garder ça c'est con.

Code :
  1. var monCurseur = GetDaId("curseur" )

c'est déja moins con, sachant que la variable monCurseur restera dans le scope de la fonction

 
Code :
  1. function pikaboo(){
  2. var monCurseur = GetDaId("curseur" )
  3. monCurseur.style.display = (monCurseur.style.display !="" ) ? "" : "hidden";
  4. }
 

Autrement plus, simple, plus optimisé. Le mieux étant toujours d'assigner des classes css à tes objets plutot qu'un style directement via DOM.

 

Edit : On est peut être sauvé, tu utilises Firebug...
Clique sur l'onglet script et vérifie que ton fichier est bien chargé.


Message édité par Shinuza le 12-05-2007 à 23:20:57

---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed