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 :

Masquer un élément pendant une certaine durée ou une session


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut Masquer un élément pendant une certaine durée ou une session
    Bonjour à tous et à toutes,

    A la demande de plusieurs clients, j'ai fait en sorte qu'une popup, à propos du pass sanitaire, s'affiche après le chargement de la page.
    N'ayant pas la main sur le HTML, j'ai fait ça en jQuery.
    Pour faire court, je crée une div que j'insère dans le body et que j'affiche en position absolue grâce au CSS.
    Pour masquer cette div, j'ai un bouton et le bout de script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('.popup-close').click(function(){
            $('#popup-pass-sanitaire').hide();
    });
    Le problème que j'ai, c'est que cette popup s'affiche après le chargement de chaque page, puisque mon script commence par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function(){
    Par conséquent, ça nuit gravement à l'UX

    Comment faire pour que quand l'utilisateur clique sur le bouton pour fermer la popup, ça masque la popup pendant une certaine durée (24h par exemple) ou pendant la durée de la session ?

    Je vous remercie par avance pour votre aide

    Bonne journée

  2. #2
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,

    Ben,... comme tu l'as dit...
    • soit avec une variable de SESSION (PHP)
    • soit avec un COOKIE (JS ou PHP)

  3. #3
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Merci jreaux62. Comment je peux créer un cookie en JS ?
    Je sais qu'on a une bannière pour les cookies et dont le code JS est le suivant :
    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
    48
    49
    50
    51
    /*
     * Gestion Bannière de cookies
     */
    if (document.cookie.indexOf('allow_cookie') == -1) {
        if (sessionStorage.getItem("allow_cookie") == null) {            
            $.ajax({
                url: "//"+ window.location.host +"/cookie/index",
                type: "POST",
                datatype:"html",
                success: function(result) {
                    document.getElementById('allow-cookie-bar').innerHTML = result;
                    sessionStorage.setItem("allow_cookie", result); //stocke côté client le temps d'une session
                    cookieBannerClose();
                }
            });
        } else {
            document.getElementById('allow-cookie-bar').innerHTML = sessionStorage.getItem("allow_cookie");
            cookieBannerClose();
        }
    }
     
    function cookieBannerClose(){
        $('#bc-close').click(function(){
            $('#allow-cookie-bar').slideUp(); 
            setCookie('allow_cookie', 'close', 30);
        }); 
    }
     
    /*
    * Gestion cookies
    */
    function setCookie(name,value,days) {
        var expires = "";
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days*24*60*60*1000));
            expires = "; expires=" + date.toUTCString();
        }
        document.cookie = name + "=" + (value || "")  + expires + "; path=/";
    }
     
    function getCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    }
    Est-ce que je peux l'utiliser ? Si oui, comment ?

  4. #4
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,

    avec un minimum de recherche, on trouve :


  5. #5
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Merci jreaux62 , je vais regarder ça et essayer de le mettre à ma sauce.

    Bonne journée

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

Discussions similaires

  1. Compter req par user pendant une session
    Par bronon dans le forum Requêtes
    Réponses: 0
    Dernier message: 29/10/2013, 09h16
  2. [MySQL] Affichage d'une requête pendant une certaine durée
    Par Whinespirit dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 18/06/2010, 12h15
  3. Voir le slow start pendant une session FTP sur wireshark
    Par doudoubens dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 22/05/2010, 19h00
  4. Réponses: 0
    Dernier message: 13/02/2010, 12h19
  5. ouverture d'un formulaire pendant une certaine durée
    Par Poor_Beginner dans le forum IHM
    Réponses: 7
    Dernier message: 24/01/2007, 11h10

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