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 :

inhiber un setTimeout, temporisation


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut inhiber un setTimeout, temporisation
    bonjour à tous

    je déclenche actuellement une fonction sur le onmouseover d'un lien
    cette fonction gère un setTimeout au bout d'une seconde
    or si je reste ne serait-ce que 3ms sur le lien je suis certain que ma fonction va s'exécuter une seconde après

    mais ce n'est pas le comportement que je recherche
    je voudrais plutôt que la fonction se lance si je reste une seconde sur le lien
    si je reste 1/2 seconde ça ne déclenche rien

    et là je ne vois pas comment faire

    je fais donc appel à vous afin de m'aider

    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    annulle le setTimeout sur le onmouseout



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onmouseover="window['timer']=setTimeout(function(){alert('killroy was here')},1000)" onmouseout="clearTimeout(timer)">ici</a>

  3. #3
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    en faite le onmouseover se lance comme ceci

    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
    window.addEvent('domready', function()
    {
    	/******** SLIDE 1 ********/
    	myVerticalSlide1 = new Fx.Slide('vertical_slide1');
     
    	$('v_slidein1').addEvent('mouseover', function(e)
    	{
    		setTimeout	("derouleDiv1()", 100);
    	});
     
    	$('v_slideout1').addEvent('click', function(e)
    	{
    		setTimeout	("fermeDiv1()", 200);
    	});
    });
    v_slidein1 et v_slideout1 sont crées via javascript (module accordion de mootools)
    donc en faite ce que tu m'as proposé ne m'est pas utile dans ce cas, j'aurai du mettre mon code dès le début

    si vous voyez une autre méthode en tenant compte de ça, ça me serait bien utile

    merci beaucoup

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    non pas une autre methode, la même il suffit de mettre le contenu de mon onmouseover dans ton addevent et de faire la même chose pour le onmousout ...

  5. #5
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    j'ai fait ceci mais sans succès
    il suffit que je survole rapidement le lien, 2sec après la fonction se lance quand même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $('v_slidein1').addEvent('mouseover', function(e)
    {
    	window['timer']=setTimeout("derouleDiv1()", 2000);
    });
     
    $('v_slideout1').addEvent('mouseout', function(e)
    {
    	clearTimeout(timer);
    });
    EDIT : j'ai trouvé en fait il faut que je mette mouseout sur v_slidein1 et non sur v_slideout1
    merci beaucoup

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $('v_slidein1').onmouseover= function(){
    	window['timer']=setTimeout(function(){derouleDiv1()}, 2000)};
     
    $('v_slideout1').onmouseout= function(){
    	clearTimeout(timer);};

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

Discussions similaires

  1. temporisation avec setTimeout (fadeOut)
    Par jamestout dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 29/09/2011, 08h40
  2. Temporisation en javascript avec Settimeout function switch case
    Par Le_castor_déchainé dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/01/2009, 22h46
  3. Temporisation pendant verouillage de l'objet matable
    Par Rdjedidene dans le forum Administration
    Réponses: 14
    Dernier message: 09/06/2004, 10h52
  4. Inhiber l'ordre alphabétique des attributs sous Xerces
    Par philippe rousseau dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 04/12/2003, 17h19
  5. temporisation
    Par forthx dans le forum C
    Réponses: 5
    Dernier message: 25/06/2003, 15h49

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