begin process at 2012 02 14 09:43:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Problème de setTimeout OU de modification de variable ???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Administrateur CodeS-SourceS
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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,209 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales