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 :

Comment fermer un evenement après 5 secondes


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 31
    Par défaut Comment fermer un evenement après 5 secondes
    Bonjour à tous,

    débutante, pouvez vous me dire comment je peux fermer cet événement ("Votre réservation a bien été prise en compte.") au bout de 5 secondes???
    Grand merci d'avance.

    HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="signature"></div>

    JS
    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
    //creation d evenement (fonction bouton valider "signature" )
    validate.addEventListener("click", function() {
      if (clickX.length > 0) {
        timerControl.init();
        reservation.activation();
        domMaster.loadCanv();
        domMaster.loadResa();
        domMaster.hideInfo();
        popupMaster.hideCanv();
        popupMaster.validation("Votre réservation a bien été prise en compte.");
      } else if (clickX.length == 0) {
        popupMaster.erreur("Vous devez signer pour valider la réservation.");
      }
    });

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    1 - tu places le code qui referme le message dans une fonction.
    2 - dans le clic qui ouvre ton message tu termines par l'appel de cette fonction, en utilisant un setTimeout => https://developer.mozilla.org/fr/doc...ope/setTimeout
    qui te permet d'indiquer intervalle de temps à attendre avant son déclenchement

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        popupMaster.validation("Votre réservation a bien été prise en compte.").delay( 5000 ).validation(""); // (5000 : 5 secondes)

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Attention à la terminologie : l’évènement c’est le "click". Ce que tu veux fermer ça s’appellerait plutôt une popup / popover (tout le monde n’est pas d’accord sur le terme), et personnellement je dirais une boîte de message / d’information.

    Le code que tu montres fait appel à des objets (domMaster, popupMaster, etc.) qui semblent provenir de bibliothèques tierces. Si tu ne nous montre pas de quelle(s) bibliothèque(s) il s’agit, nous ne pourrons pas t’aider précisément.

    Enfin, attention à l’accessibilité : peut-être que 5 secondes est un délai trop court pour les personnes ayant un handicap visuel ou cognitif.
    Autre scénario, si l’utilisateur ou l’utilisatrice a changé d’onglet pendant l’opération, il ou elle risque de ne pas voir le message. À la place, je rajouterais un bouton permettant de fermer le message à la main.

    Note, j’ai vu ton message sur Alsacréations. Si l’un ou l’autre des sites où tu as posé ta question t’apporte une solution, ce serait sympa si tu prenais le temps de revenir sur les autres pour indiquer comment tu as résolu ton problème
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 31
    Par défaut
    Bonjour à tous,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popupMaster.validation("Votre réservation a bien été prise en compte.").delay( 5000 ).validation(""); // (5000 : 5 secondes)
    Malheureusement ce code ne fonctionne pas.

  6. #6
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 31
    Par défaut
    Watilin à raison, c'est plutôt une message d'information. mais cette information doit se fermer après x secondes. sans perturber la condition else

  7. #7
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 31
    Par défaut
    il est vrai qu'il y a une fonction validation. c'est peut être la que je dois rectifier???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //STATION OUVERTE- Position et style appliquées au texte
      	validation: function(text){
     
    		alertElm.style.backgroundColor = "#32C400";
    		this.show();
    		alertElm.innerHTML = text;
    		//gestionnaire d'évènements pour click
    		alertElm.addEventListener("click",this.hide);
    	}

  8. #8
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 31
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Attention à la terminologie : l’évènement c’est le "click". Ce que tu veux fermer ça s’appellerait plutôt une popup / popover (tout le monde n’est pas d’accord sur le terme), et personnellement je dirais une boîte de message / d’information.

    Le code que tu montres fait appel à des objets (domMaster, popupMaster, etc.) qui semblent provenir de bibliothèques tierces. Si tu ne nous montre pas de quelle(s) bibliothèque(s) il s’agit, nous ne pourrons pas t’aider précisément.

    Enfin, attention à l’accessibilité : peut-être que 5 secondes est un délai trop court pour les personnes ayant un handicap visuel ou cognitif.
    Autre scénario, si l’utilisateur ou l’utilisatrice a changé d’onglet pendant l’opération, il ou elle risque de ne pas voir le message. À la place, je rajouterais un bouton permettant de fermer le message à la main.

    Note, j’ai vu ton message sur Alsacréations. Si l’un ou l’autre des sites où tu as posé ta question t’apporte une solution, ce serait sympa si tu prenais le temps de revenir sur les autres pour indiquer comment tu as résolu ton problème

    Il est vrai qu'il y a une fonction validation dans une autre objet, c'est peut être la que je dois rectifier mais comment???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //STATION OUVERTE- Position et style appliquées au texte
    validation: function(text){
     
    alertElm.style.backgroundColor = "#32C400";
    this.show();
    alertElm.innerHTML = text;
    //gestionnaire d'évènements pour click
    alertElm.addEventListener("click",this.hide);
    }

  9. #9
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    @ web.bacor
    c'est quoi tes objets timerControl, domMaster, popupMaster ?
    ils sortent d’où ?
    (question déjà posée par Watilin et à laquelle tu n'a toujours pas répondu )

  10. #10
    Invité
    Invité(e)
    Par défaut
    @psychadelic
    Sauf erreur, elle a trouvé et montrer (2 fois...) le bout de code * à modifier.

    1- Modifier (comme expliqué par psychadelic) :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       this.show();
       setTimeout(function() {
       this.hide();
    }, 5000);
    2- Ou encore :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       this.show();
       setTimeout(this.hide, 5000);
    3- ou, puisqu'on utilise jQuery (avec .delay()) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       this.show().delay( 5000 ).hide();
    4- ou (avec effet .fadeOut()) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       this.show().delay( 5000 ).fadeOut();


    * Bout de code qui répond déjà à la recommandation de Watilin, puisque le message se ferme aussi au clic dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alertElm.addEventListener("click",this.hide);
    Dernière modification par Invité ; 31/08/2018 à 14h59.

  11. #11
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 31
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    2- Ou encore :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       this.show();
       setTimeout(this.hide, 5000);
    Bonjour et un GRAND GRAND MERCI

    this.show();
    setTimeout(this.hide, 5000);


    fonctionne à merveille. c'est vraiment tout bête mais qu'en on débute c'est pas évident.
    Je vous souhaite à tous de passer une excellente journée parce que pour moi ça va être le cas.

    encore Merci pour votre aide.

  12. #12
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    @psychadelic
    Sauf erreur, elle a trouvé et montrer (2 fois...) le bout de code * à modifier.
    le code à modifier, je veux bien, mais ça n'explique en rien de quelle librairie ou autre qui donnent les objets timerControl, domMaster, popupMaster...

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

Discussions similaires

  1. [TASM] Comment afficher un message après 5 secondes ?
    Par S.H dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 26/08/2008, 15h59
  2. fermer une fenetre aprés 5 secondes
    Par gastoncs dans le forum WinDev
    Réponses: 2
    Dernier message: 01/03/2007, 09h56
  3. Fermer la fenetre après 5 secondes
    Par Sniper37 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/01/2006, 11h24
  4. Comment fermer un popup après un délai
    Par Dnx dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/11/2005, 17h05
  5. Comment fermer une popup après un certains temps ?
    Par magic8392 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/10/2005, 12h06

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