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

jQuery Discussion :

temporiser l'affichage d'un block


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Par défaut temporiser l'affichage d'un block
    Bonjour,

    voilà j'ai récupéré un script qui me permet d'afficher un bloc au survol d'un lien, puis de le refermer si j'en sort :


    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
     
    var timeout    = 0;
    var closetimer = 0;
    var ddmenuitem = 0;
     
    function jsddm_open() {
        jsddm_canceltimer();
        jsddm_close();
        ddmenuitem = jQuery(this).find('.sub').css('display', 'block');
        closeSmallPopUp();
    }
     
    function jsddm_close() {
        if(ddmenuitem) ddmenuitem.css('display', 'none');
    }
     
    function jsddm_timer() {
        closetimer = window.setTimeout(jsddm_close, timeout);
    }
     
    function jsddm_canceltimer() {
        if(closetimer) {
            window.clearTimeout(closetimer);
    	closetimer = null;
        }
    }
     
     
    jQuery(document).ready(function() {
        jQuery('.menuLink').bind('mouseover', jsddm_open)						
        jQuery('.menuLink').bind('mouseout',  jsddm_timer)	
    });
    il est super réactif, tellement réactif d'ailleurs que je cherche à temporiser l'ouverture par rapport à l'événement mouseover...

    Auriez-vous une idée ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 31
    Par défaut
    pourquoi ne pas temporiser pas une animation ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Par défaut
    Bonjour
    En fait y'a pas mal de données dans le bloc en lui même et du coup en animation c'est pas très fluide...

    la je cherche juste à limiter les ouvertures accidentelles d'un visiteur dont la souris passerait sur le lien.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,
    Citation Envoyé par Renand Voir le message
    Bonjour
    En fait y'a pas mal de données dans le bloc en lui même et du coup en animation c'est pas très fluide...

    la je cherche juste à limiter les ouvertures accidentelles d'un visiteur dont la souris passerait sur le lien.
    J'allais te répondre :"Dans ce cas utilises un timer pour retarder l'affichage" mais je viens de voir que ton script en a déjà un

    Changes la valeur de timeout (0ms c'est un peu court comme retard à l'affichage )

    devyan

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    N'utilisez pas mouseover et mouseout mais mouseenter et mouseleave.

    Voir la démo en fin de http://api.jquery.com/mouseover/.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Bonsoir.

    N'utilisez pas mouseover et mouseout mais mouseenter et mouseleave.

    Voir la démo en fin de http://api.jquery.com/mouseover/.
    Merci, je ne connaissais pas ces événements. D'un point de vue réactivé ça ne change rien de fait. J'imagine qu'il faut aussi intégrer un délai ou quelques choses permettant de ne pas exécuter l'action d'ouverture si la durée de présence sur le bouton est trop courte, non ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 58
    Par défaut
    Citation Envoyé par devyan Voir le message
    Bonjour,


    J'allais te répondre :"Dans ce cas utilises un timer pour retarder l'affichage" mais je viens de voir que ton script en a déjà un

    Changes la valeur de timeout (0ms c'est un peu court comme retard à l'affichage )

    devyan
    Bonjour en fait le timer est la pour maintenir ouvert le block en moment de la fermeture. Je souhaiterais de mon coté que le block s'ouvre uniquement si le visiteur reste sur le lien, mais pas à chaque survol.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par Renand Voir le message
    Bonjour en fait le timer est la pour maintenir ouvert le block en moment de la fermeture. Je souhaiterais de mon coté que le block s'ouvre uniquement si le visiteur reste sur le lien, mais pas à chaque survol.
    Au temps pour moi, j'ai mal vu (il "tait tard)

    Cependant la remarque reste bonne...

    Pour obtenir un délai avant ouverture, et bien utilises un timer.
    1. MouseEnter déclenche un timer qui devra déclencher l'affichage
    2. MouseLeave annule le timer et cache l'élément si il est affiché


    Je ne rentre pas plus dans le détail de la réalisation, tu as l'autre timer comme exemple
    devyan

Discussions similaires

  1. Temporisation sur affichage message
    Par 22buzz22 dans le forum Général Python
    Réponses: 1
    Dernier message: 12/10/2012, 13h19
  2. Problème difficile à expliquer : temporisation et affichage
    Par moijekikoote dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/02/2011, 13h23
  3. Temporisation et affichage console sous Linux
    Par ptyxs dans le forum Langage
    Réponses: 3
    Dernier message: 14/01/2011, 00h33
  4. Affichage de div avec temporisation
    Par licorne dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/12/2006, 16h13
  5. [Pmode] Affichage variable + temporisation
    Par Onil_ dans le forum Assembleur
    Réponses: 4
    Dernier message: 26/04/2006, 15h18

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