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

HTML Discussion :

fenetre au passage de la souris


Sujet :

HTML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 23
    Points
    23
    Par défaut fenetre au passage de la souris
    Bonjour,
    J'ai écrit un cahier de rdv en php/mysql.
    Je suis à la recherche de la meilleur solution pour créer une fenêtre qui apparait lorsque la souris survole le nom et dans laquelle seront affichés sur des lignes successives prenom, N° tél ect..
    A noter que je n'ai pas de pb pour les requêtes d'intérrogation de la bdd, je ne souhaite pas utiliser des fenêtres popup.
    Merci de votre aide

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour et bienvenue sur les forums,

    Tu seras obligé de toute façon de passer par javascript.

    Tu peux faire tout bêtement un DIV caché, que tu rendras visible au survol de la souris, et que tu positionneras dynamiquement à l'élément.

    Sinon,si tu veux quelque chose qui ressemble un peu plus à une fenêtre, tu peux toujours te tourner vers un framework javascript (je pense par exemple à jQuery UI), qui proposent des "fausses popups"

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 321
    Points : 265
    Points
    265
    Par défaut
    Ce que tu cherches à faire est en fait une infobulle. Il en existe en javascript comme te l'a dit supersnail, mais il en existe aussi en css ( uniquement ).
    Regarde ici

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Effectivement, comme propose supersnail, si tu utilises déjà un framework, pioche dedans il doit y avoir des tooltips ou un équivalent.

    Dans le cas contraire, au cas où tu décides de créer tes affichages toi-même, sache que ce n'est pas non plus la mer à boire. Un exemple simpliste que j'avais sous le coude, pour se donner une idée ou à adapter... ^^ sait-on jamais ?

    Code javascript : 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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    function divCommentaire(elementRacine, texte, offsetX, offsetY) {   
       var divC = document.createElement("DIV");
       elementRacine.appendChild(divC);
       divC.id = "divCom_" + elementRacine.id.substr(4);
       divC.className = "divCom";
       divC.style.display = "none";
     
       elementRacine.addEventListener("mouseover", ecouteur_commentaire, false);
       elementRacine.addEventListener("mouseout", ecouteur_commentaire, false);
     
       var positionRelative = elementRacine.posXY();// tableau à 2 postes : [positionX, positionY] 
       divC.style.left = (positionRelative[0] - 150 + offsetX) + 'px';// -150 = moitié de la largeur du div ( pour centrage ) 
       divC.style.top = (positionRelative[1] + 10 + offsetY) + 'px';// +10 = simple ajustement pour l'harmonie de l'affichage
     
       // écriture du contenu
       var spanTexte = document.createElement("SPAN");
       divC.appendChild(spanTexte);
       spanTexte.setAttribute("class","spanCom");
       spanTexte.appendChild(document.createTextNode(texte));
    }
     
    // FONCTION : calcul de la position absolue d'un élément (dans la fenêtre)
    // RETOUR : tableau à 2 postes : coordonnées [X, Y] en entiers
    Element.prototype.posXY = function() {   
    	var tabPosition = new Array();
    	var feuille = this;
    	tabPosition[0] = feuille.offsetLeft;
    	tabPosition[1] = feuille.offsetTop;
     
    	while(feuille.offsetParent) {
    		feuille = feuille.offsetParent; // récursivité
    		tabPosition[0] += feuille.offsetLeft;
    		tabPosition[1] += feuille.offsetTop;
    	}
    	return tabPosition;
    }
     
    function ecouteur_commentaire(e) {
       var spanSource = e.target;
       var numCom = spanSource.id.substr(4);
       var com = document.getElementById("divCom_" + numCom);
       if (com && e.type == "mouseover") {
          com.style.display = "block";
          spanSource.style.backgroundColor = "#999";
       }
       if (com && e.type == "mouseout") {
          com.style.display = "none";
          spanSource.style.backgroundColor = "";
       }
    }
    Tiens au fait en le relisant : je vois que c'est une version avec addEventListener, donc pour la rendre compatible IE il faudrait simplement remplacer les écouteurs par une version crossbrowser, genre addEvent, qui switche sur addEventListener ou attachEvent en fonction du navigateur ...

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Si le comportement qu'on a ici quand la souris survole le mot "barns" t'intéresse, il faut adapter le code que voici :
    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
      <style>.popup_anchor div.popup{visibility: hidden;
    z-index: 10;
    top: 120px;
    left: 100px;
    position: absolute;
    background-color:white;
    border-color:black;
    }
    span:hover.popup_anchor div.popup{
    visibility: visible;
    }
    span .popup_anchor div:hover.popup{
    visibility: visible;
    }
      </style>
     
                                              <font color="blue"><span
     onmouseover="document.getElementById('popupid').style.visibility = 'visible';"><span
     class="popup_anchor"><b>barns</b><span
     onmouseout="document.getElementById('popupid').style.visibility = 'hidden';">
                                              <div class="popup"
     id="popupid"><span><img src="chevaux2008_010.jpg"></span><br>
                                              </div>
                                              </span></span></span></font>
    (mélange de js et de css)

Discussions similaires

  1. [FLASH MX2004] Zoom au passage de la souris
    Par pierrot10 dans le forum Flash
    Réponses: 1
    Dernier message: 26/01/2006, 11h38
  2. Réponses: 32
    Dernier message: 19/11/2005, 20h26
  3. Réponses: 2
    Dernier message: 23/10/2005, 20h00
  4. changer couleur du lien au passage de la sourie
    Par toome dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/08/2005, 11h11
  5. [algo] enchainement de fenetre et passage d'info
    Par MrDuChnok dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/03/2005, 12h24

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