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 :

fermeture fenêtre pop


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut fermeture fenêtre pop
    Bonjour à tous,
    je ne comprend rien au javascript et le peu que j'utilise, je l'ai glané sur divers forum.

    J'ai une fonction pop-up qui fonctionnait très bien jusqu'à ce que j'envisage d'introduire des petites vidéos sur mon site. Malheureusement le clic sur le bouton de lancement de la vidéo se confond avec le clic de fermeture de la fenêtre.

    Pour éviter le problème, j'ai envisagé de créer un bouton extérieur à la fenêtre pop pour la fermer en cliquant dessus, MAIS !!!!!

    malgré les nombreuses lectures du code utilisé, je n'arrive pas à comprendre ce que je dois modifier dans le code javascript ci dessous pour que le clic de fermeture ne fonctionne que quand on clique sur le bouton extérieur à la fenêtre ouverte ?.

    le bouton crée est "ferm-fenetre.gif"

    le code javascript gérant les fonctions


    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
     
     
    function unpopall()
    {
        var myAs = document.getElementsByTagName('a');
        for (var a = 0; a < myAs.length; ++a) {
     // Si le lien a une classe de type pop
            if (myAs[a].className == 'pop') {
     // on extrait l'id de la popup à partir du href
                var pop = document.getElementById(myAs[a].href.substring(myAs[a].href.lastIndexOf('#') + 1));
     // si la popup existe on l'affiche (display block)
                if (pop) {       
                    pop.style.display = 'none';
                }
            }
        }
    }
     
     
     
    function pop()
    {    var myAs = document.getElementsByTagName('a');
        for (var a = 0; a < myAs.length; ++a) {
     // Si le lien a une classe de type pop
            if (myAs[a].className == 'pop') {
     // on extrait l'id de la popup à partir du href
                var pop = document.getElementById(myAs[a].href.substring(myAs[a].href.lastIndexOf('#') + 1));
     // si la popup existe on l'affiche (display block)
                if (pop) {       
                    pop.style.display = 'none';
                    myAs[a].onclick = function() {
                        thisPopup = document.getElementById(this.href.substring(this.href.lastIndexOf('#') + 1))
                        unpopall();
                        thisPopup.style.display = (thisPopup.style.display == 'none') ? 'block' : 'none';
                        return false;
                    };
      // on efface la popup en cliquant sur le bouton ou la fenêtre
                    pop.onclick = function()
                    {
                        this.style.display = 'none';
                    };
                }
            }
        }
    }


    le problème est visible sur la page

    http://www.cisalpin.com/pages/trains/choix_trains.html

    rubrique vidéo

    un spécialiste du javascript peut-il m'indiquer comment modifier le code pour que la fonction fermeture de la fenêtre ne fonctionne que par clic sur le bouton "ferm-fenetre.gif".

    Merci d'avance d'avance de vos conseils

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Cette partie là est probablement de trop :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pop.onclick = function()
                    {
                        this.style.display = 'none';
                    };

    Attribue un id à ton bouton de fermeture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" id="id_du_bouton" src="tonbouton.gif" />

    et ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    document.getElementById('id_du_bouton').onclick = function () {
     var pop = document.getElementById(myAs[a].href.substring(myAs[a].href.lastIndexOf('#') + 1));
     pop.style.display = 'none';
    }

Discussions similaires

  1. Blocage fenêtre pop-up ??!!
    Par maliba dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 31/03/2006, 11h56
  2. [Swing] Fenêtre pop-up
    Par Invité dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 28/02/2006, 21h42
  3. Fenêtre pop-up
    Par MYster dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/11/2005, 21h43
  4. Ouvrir une fenêtre pop up en plus d'une page normale
    Par Satination dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 17/08/2005, 10h28
  5. Réponses: 2
    Dernier message: 23/06/2005, 09h06

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