IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Infobulle ne s'affichant pas sous IE


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Infobulle ne s'affichant pas sous IE
    Voila j'essaie de faire apparaître une infobulle lors d'un onmouseover. Elle s'affiche bien sous mozilla mais pas sous IE .

    pour cela j'utilise ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle.
    sous mozilla elle est appelée dès que la souris bouge, sous IE elle n'est appelé que lors du chargement de la page. Ensuite plus rien... Le problème viendrai surement de là à priori.

    je poste également mes autres fonctions si ça peut être utile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    var visible=false; // La variable i nous dit si la bulle est visible ou non
     
    function move(e) {
    	if(visible) {  // 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 + 10+"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=10+event.y+document.documentElement.scrollTop+"px";
    			} 
    			else {
    				GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px";
    				GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px";
    			}
    		}
    	}
    }
     
    function montre(text) {
    	if(visible==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
    		visible=true;
    		//alert(GetId("curseur").style.left);
    	}
    }
     
    function cache() {
    	if(visible==true) {
    		GetId("curseur").style.visibility="hidden"; // Si la bulle est visible on la cache
    		visible=false;
    	}
    }
    Merci d'avance pour vos conseils.

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Bon à priori, le problème ne viendrait pas de là. J'ai en fait une autre infobulle et lorsque je les désactive, ça remarche sous IE. c'est donc cette infobulle qui bloque l'autre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="calcontainer" style="display:none;"></div>
    cette div sert à insérer un minicalendrier qu'il est possible de déplacer. J'utilise un fichier calendar.js pour l'afficher. Voici la feuille de style qui correspond:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    .calcontainer{
    		z-index: 200;
    		position: absolute;
    	}
    et voici la feuille de style de l'infobulle que j'essaie d'afficher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
           .infobulle{
    		z-index: 300;
    		position: absolute;
    		visibility : hidden;
    		border: 1px solid Black;
    		padding: 10px;
    		font-family: Verdana, Arial;
    		font-size: 10px;
    		background-color: #FFFFCC;
    		opacity : 0.8 ;
    		-moz-opacity : 0.5 ;
    		-khtml-opacity : 0.5 ;
    		filter : alpha(opacity=50) ; 
    	}
    n'y aurait-il pas un confit au niveau des z-index ou quelque chose comme ça?

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    (Re)bonjour,
    Citation Envoyé par Phpdebut Voir le message
    n'y aurait-il pas un confit au niveau des z-index ou quelque chose comme ça?
    Si c'était dû au z-index, tu n'aurais le problème que si le calendrier et la bulle était positionnée au même endroit de la page ...
    De plus, vues les valeurs, c'est la bulle qui serait au-dessus du calendrier

    Si le problème n'est que sous IE, vérifie que tu n'as pas un name correspondant à l'id d'un autre objet, ou une variable (locale ou globale) dont le nom correspond à un name ou id de la page ...
    (sans garantie que ça vienne de là)

    A+

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Non mais c'est pas grave j'ai fini par utiliser une bibliothèque toute faîte et pas mal du tout que j'ai téléchargé ici

    Et ça marche impecable!

    Je pense que ça devait venir d'un conflit d'Id comme vous dîtes. On ne le saura jamais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Infobulle CSS qui ne s'affiche pas sous IE6
    Par Oluha dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/01/2008, 09h09
  2. message ne s'affiche pas sous FF
    Par gloglo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/01/2007, 11h41
  3. Réponses: 15
    Dernier message: 25/10/2006, 23h34
  4. [HTML]Image qui ne s'affiche pas sous firefox...
    Par OrangeBud dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/10/2004, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo