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 :

inclure un timer sur un mouseover.


Sujet :

jQuery

  1. #1
    Membre régulier
    Avatar de fenrir0680
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Points : 93
    Points
    93
    Billets dans le blog
    2
    Par défaut inclure un timer sur un mouseover.
    Bonjour,

    Je préfère prévenir, le javascript, c'est pas trop mon truc (plutôt PHP).

    Alors voilà le truc :

    J'ai une série d'image miniature avec une class "vignette" et id unique pour chacune (forcément).
    Lorsque je les survole, une barre d'édition doit apparaître. Jusque là ça fonctionne bien.
    Maintenant, je voudrait inclure un timer pour éviter d'afficher la barre d'édition lors de survole accidentel.

    En gros, si survole de la vignette pendant 2 seconde, afficher la barre d'édition, sinon la cacher.

    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
     
    var compteur = 0;
    var secondes = 0;
     
    $("div.vignette").hover(
    	function()
    	{
    		// mouseover
    		var id =  $(this).attr('id');
    		compteur = setInterval(
    			function (id)
    			{
    				secondes ++;
    				if ( secondes == 2 )
    				{
    					$("#" + id).find("div.edit-bar").show("slow");
    				}
    			}, 1000);
    	},
    	function()
    	{
    		// mouseout
    		$(this).find("div.edit-bar").hide("slow");
     
    		clearInterval(compteur );
    		_seconds = 0;
    	}
    );
    D'après les test que j'ai fait, je n'arrive pas à passer le paramètre "id" à la fonction du setInterval.

    C'est surement tout con, mais là je sèche .

    Merci pour votre aide, sur ce, je retourne consulter les forum pour essayer de résoudre ce petit problème.

  2. #2
    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 : 73
    Localisation : Belgique

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

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

    Dans setInterval, il s'agit d'une fonction anonyme sans paramètres. Le paramètre id existe déjà dans la fonction "mouseenter", voir le code.

    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
    var compteur = 0;
    var secondes = 0;
     
    $("div.vignette").hover(
    	function(){ // mouseenter
    		var id =  $(this).attr('id');
     
    		compteur = setInterval(function(){
    			secondes ++;
     
    			if ( secondes == 2 ){
    				$("#" + id).find("div.edit-bar").show("slow");
    			}
    		}, 1000);
    	},
    	function(){ // mouseleave
    		$(this).find("div.edit-bar").hide("slow");
     
    		clearInterval(compteur );
     
    		_seconds = 0; // ?? secondes 
    	}
    );

    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.)

  3. #3
    Membre régulier
    Avatar de fenrir0680
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Points : 93
    Points
    93
    Billets dans le blog
    2
    Par défaut
    Comme je le disais, ce doit-être tout con.

    Et effectivement, le dernier _seconds, c'est une erreur de ma part, c'est bien secondes qu'il fallait lire.

    Merci, c'est résolu

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

Discussions similaires

  1. [JSWING]Inclure un Conteneur sur un Panel
    Par LoLoLem dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 10/11/2007, 18h19
  2. Timer sur une fenetre "info"
    Par momobulle dans le forum WinDev
    Réponses: 2
    Dernier message: 11/07/2007, 13h26
  3. Waitable timers sur linux
    Par wajihwajih dans le forum Linux
    Réponses: 3
    Dernier message: 23/05/2007, 15h36
  4. [FLASH] Problème de timer sur FLV
    Par BnA dans le forum Flash
    Réponses: 1
    Dernier message: 03/11/2006, 11h52
  5. [C#] Timer sur les évènements des messages Windows
    Par Nullos Oracle dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/09/2006, 11h33

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