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 :

Positionnement d'un popup


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 48
    Par défaut Positionnement d'un popup
    Bonjour,

    Je suis en train de mettre en place un popup sur une mini-image qui affiche celle-ci en taille réelle. Le problème est que si ma mini-image se trouve dans le haut de la page aucun soucis le popup se place au milieu de la page et s'affiche. Mais dès que l'on place la mini-image en bas de page, le popup s'affiche en haut de la page et fait remonter celle-ci. Comment faire pour positionner le popup au centre de la page quelque soit l'endroit ou se trouve la mini-image.

    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
    37
    Voici le code Javascript :
    
    estvisible=false;
    
    if (document.getElementById)
    {
       bulle = document.getElementById("infobulle").style;
    }
    
    
    function infobulle(contenu,titre,type,taille)
    {
    
       if(type == "orange") {
          var classeTitre = "titreOrange";
          var classeContenu = "contenuOrange";
    	  var classeBordure = "bordureOrange";
       }
       
       var content ="<TABLE BORDER=0 class="+classeBordure+" CELLPADDING=0 CELLSPACING=0 width="+taille+"><tr><td    class="+classeTitre+">&nbsp;"+titre+"</td></tr><TR><TD><TABLE border=0 CELLPADDING=3 CELLSPACING=0 width=100% height=100%><TR><TD class="+classeContenu+">"+contenu+"</TD></TR></TABLE></TD></TR></TABLE>";
       if (document.getElementById)
       {
            document.getElementById("infobulle").innerHTML = content;
            bulle.visibility = "visible";
       	estvisible = true;
         }
    }
    
       
    function fermerInfobulle()
    {
       if (document.getElementById)
      {
          bulle.visibility = "hidden";
       estvisible = false;
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Le code d'appel de la popup dans la page :
    
    <a href="#" class="rubriqueOrange" onClick="infobulle('<img src=files/images/p2.jpg /><br><a href=# onclick=fermerInfobulle()>Fermer la fenêtre de zoom</a>','Zoom Image','orange',100);"><img src=files/images/p2.jpg width=100px /></a>
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Le code css :
    
    .initInfobulle 
    { 
    position: absolute; 
    visibility: hidden;
    top: 200px;
    left: 400px;
    } 
    
    .titreOrange
    { 
    font-family: Arial; 
    font-size: 12px; 
    font-weight:bold; 
    color: #D55500; 
    text-decoration:none; 
    border-spacing:0px; 
    border-bottom:#FF6600; 
    border-width:1px; 
    border-style:solid; 
    border-left-style:none; 
    border-top-style:none; 
    border-right-style:none; 
    background:#FFC791; 
    } 
    
    .contenuOrange
    { 
    font-family: Arial; 
    font-size: 11px; 
    font-weight:none; 
    color: #000000; 
    text-decoration:none; 
    background:#FFF3E8; 
    } 
    
    .bordureOrange
    { 
    border-spacing:0px; 
    border-left:#FF6600; 
    border-right:#FF6600; 
    border-top:#FF6600; 
    border-bottom:#FF6600; 
    border-width:1px; 
    border-style:solid; 
    }
    Merci beaucoup de votre aide et de vos réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    positionne dynamiquement ton popup en y ajoutant le srcollTop de la page ..
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 48
    Par défaut
    Si je comprends bien, il faut que j'enlève les propriétés Top et Left de mon css et que je modifie ceci dans mon javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	if (document.getElementById)
       	{
            	document.getElementById("infobulle").innerHTML = content;
    		bulle.top = scrollTop;
    		bulle.left = scrollLeft;
            	bulle.visibility = "visible";
       		estvisible = true;
         	}
    Ca ne fonctionne pas. pour le moment.

    Merci beaucoup de votre aide.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bulle.style.top = document.body.scrollTop+"px";
    		bulle.style.left = document.body.scrollLeft+"px"
    Là il sera en haut à gauche ... àprès à toit d'jouter de que tu veux ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 48
    Par défaut
    merci. ca fonctionne à peu près mais comme cela se trouve sur l'évenement onclick de la mini-image, lorsque je clique pour afficher la popup, la page remonte vers le haut. Comment faire pour rester la ou se trouve la mini-image ?

    J'ai modifier ceci mais cela ne marche pas comme il faut lorsqu'une mini-image est en haut de la page (cela redescend un peu et coupe le popup)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <a name=p2 href="#p2" class="rubriqueOrange" onClick="infobulle('<img src=files/images/p2.jpg /><br><a href=#p2 
     
    onclick=fermerInfobulle()>Fermer la fenêtre de zoom</a>','Zoom Image','orange',100);">
    <img src=files/images/p2.jpg width=100px /></a>
    Merci beaucoup

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    positionne le popup en em ...
    et appende dans le conteneur de l'image ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 48
    Par défaut
    j'ai trouvé une solution :

    j'utilise la fonction onclick de l'image plutot que le lien hypertext :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img class="imagezoomed" onClick="infobulle('<img class=imagezoomed onClick=fermerInfobulle() src=files/images/p1.jpg /><br>Cliquez sur l\'image pour fermer la fenêtre de zoom','Zoom Image','orange',100);" src=files/images/p1.jpg width=100px />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    code css ajouter :
    
    .imagezoomed
    {
    cursor: pointer;
    }
    Dites moi si cela est correct. Merci beaucoup

Discussions similaires

  1. Positionnement d'une popup HTML
    Par yann123456 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 13/08/2009, 18h08
  2. Fenetre Modal positionnement dans le haut de la popup
    Par ozzmax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/05/2007, 15h11
  3. Positionner une popup
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/08/2006, 22h57
  4. Est il possible de positionner une popup alert ?
    Par mappy dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/04/2006, 19h25
  5. Calendrier problème de popup et de positionnement
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/03/2006, 15h08

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