Accueil > Forum > > > > Problème de setTimeout OU de modification de variable ???
Problème de setTimeout OU de modification de variable ???
mercredi 11 juin 2008 à 16:28:56 |
Problème de setTimeout OU de modification de variable ???

pcmanprogrammeur
|
Bonjour, J'ai un problème avec mon code Javascript. Je vous ai simplifié le principe pour plus de compréhension : <html> <script> var autorisation = true; function a() { if(autorisation) { autorisation = false; setTimeout("b()",10000); } } function b() { alert("ok"); autorisation = true; } </script> <body> <input type="button" value="bouton1" onclick="a()"> <input type="button" value="bouton2" onclick="b()"> </body> </html> Amuse-vous à cliquer sur le bouton 1 et ATTENDEZ. Au bout de 10 secondes l'application doit vous afficher "ok". Jusque là c'est bon... Sauf que maintenant, recliquez sur le bouton 1 puis sur le bouton 2 sans attendre les 10 secondes. Vous remarquerez que le "ok" du bouton 1 s'affiche sans avoir attendu la fin du setTimeout. J'ai donc constaté deux problèmes : - La variable autorisation ne passe pas à FALSE tant que la fonction n'est pas finie : c'est pourquoi le fait d'appuyer sur le bouton 2 redéclenche la fonction alors que le test "if(autorisation)" aurait dû l'en empêcher - Ensuite, comme déjà dit, le "setTimeout" du premier bouton est coupé puisqu'il affiche directement le "ok" alors qu'il attendre la fin du délai ... Voyez-vous comment résoudre ce problème??? J'ai beau triturer le code dans tous les sens, rien à faire ... :( Merci de votre aide. A bientôt.
|
|
mercredi 11 juin 2008 à 16:53:11 |
Re : Problème de setTimeout OU de modification de variable ???

Zobibol
|
Bonjour, ayant le neurone qui baigne encore dans cette boisson alcoolisée au goût adorable d'anis (attention, pas le chiffre, l'autre), je ne suis pas sur de tout comprendre mais ceci serait-il un début de réponse ?
<html> <script> var autorisation = true; var timer = null; function a() { if(autorisation && timer== null) { autorisation = false; timer = setTimeout("b()",3000); } }
function b() { alert("ok"); clearTimeout(timer); timer=null; autorisation = true; } </script> <body> <input type="button" value="bouton1" onclick="a()"> <input type="button" value="bouton2" onclick="b()"> </body> </html>
[o-_-o]
|
|
mercredi 11 juin 2008 à 19:22:36 |
Re : Problème de setTimeout OU de modification de variable ???

kazma
|
quand tu clic sur bouton2 tu declanche la fonction b() qui contient le alert('ok')la fontion envoie en toute logique le message ok elle se moque totalement de savoir si ta variable est a true ou false. va faloir cogiter
|
|
jeudi 12 juin 2008 à 08:35:00 |
Re : Problème de setTimeout OU de modification de variable ???

pcmanprogrammeur
|
Mince, je viens de me rendre compte que j'ai fait une erreur dans mon exemple :
C'est : <input type="button" value="bouton2" onclick="a()"> et pas : <input type="button" value="bouton2" onclick="b()">
Ca a l'air de marcher mieux ...
|
|
jeudi 12 juin 2008 à 16:15:46 |
Re : Problème de setTimeout OU de modification de variable ???

Zobibol
|
ça à l'air de marcher mieux ou ça réponds à ton problème (que je n'ai pas encore tout saisis d'ailleurs...) ?
[o-_-o]
|
|
Cette discussion est classée dans : bouton, problème, ok, autorisation, settimeout
Répondre à ce message
Sujets en rapport avec ce message
Problème avec msgbox [ par Postal_Dude ]
Bonjour,Je suis en train de faire une appli en php pour mon stage qui consiste à gérer les commandes, les articles, les fournisseurs, etc...de l'unive
problème de sécurité... [ par vxr888 ]
Bonjour, J'apprends le javascript et j'essaye de faire un truc qui est peut-être impossible. J'ai essayé en bidouillant de 36 manières différentes mai
problème avec confirm() toujours OK [ par rudddy ]
Bonjour à tous,j'ai le pb suivant :je souhaite afficher une commande confirm par un utilisateur afin de valider un choix. j'ai donc écrit ça :<script
Problème avec onmouse et images [ par dedeazer ]
Bonsoir,Je souhaite afficher un bouton image (bouton.jpg) et qui lors du passage de la souris dessus change d'aspect (bouton_enfonce.jpg) et qu'une au
preview d'une image [ par ajangot ]
bonjour,je voudrais faire un bouton qui fasse apparaitre un fenetre demandans au visiteur le chemin de l'image (comme le bouton en bas du forum). Puis
Problème : window.blur() [ par Mickael ]
Salut !j'ai cette fonction :setTimeout("xtpop.blur();",10000); // je réduit la popup au bout de 10 sec .setTimeout("xtpop.?????();",10000); // je veux
Problème de Bouton survol !!! [ par vernoff ]
Salut, après avoir fini ma page internet avec tous les scripts, je me suis aperçu que mes boutons lorsque je les ai survolés ne marchaient pas, ils ét
problème setTimeOut [ par RockmanX ]
Salut!voici un petit code que j'ai mis sur une page qui affiche des photos en diaporama: window.setInterval(document.location='viewphoto.ags?photo
Problème avec les popup [ par vodkapomme43 ]
Bonjour à tous,Voila mon problème: j'ai crée un bouton qui execute un javascript: il affiche une popup avec un calendrier (le bouton sert à choisir un
Problème d'envoie de variables lors d'un submit [ par rudybzh ]
Salut, j'ai un souccis qui me pose beaucoup de problème, je vais essayer d'etre clair :j'ai un formulaire tout simple (champ texte et bouton submit)Le
Livres en rapport
|
Derniers Blogs
SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|