Bloquer un bouton pendant 5 secondes ?

Résolu
sebct Messages postés 20 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 26 juillet 2005 - 25 juil. 2005 à 14:19
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 - 25 juil. 2005 à 15:51
Bonjour,

quand je clique sur un bouton, je voudrais que celui-ci ne soit plus cliquable pendant 5 secondes. Comment faire ? A priori, je dois utiliser monbouton.enabled = false, mais comment écrire le "pendant 5 secondes" ?

Merci.

4 réponses

cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
25 juil. 2005 à 14:46
On va juste la simplifier:



function BoutonEnabled() {
tonBouton.enabled = false;
var timerInterval = setInterval(function () {
tonBouton.enabled = true;
clearInterval(timerInterval);
}, 5000);
}


Maintenant si tu veux faire un affichage toute les secondes garde l'original!



@+! Samy
3
lalok Messages postés 91 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 23 février 2007
25 juil. 2005 à 14:37
voila une fonction



function BoutonEnabled() {

tonBouton.enabled = false;

var timer = 0;

var timerInterval = setInterval(function () {

timer++;

trace (timer)

if (timer == 5) {

tonBouton.enabled = true;

clearInterval(timerInterval);

}

}, 1000);

}



tu as juste a rajouter ca sur ton bouton en plus de tes actions



on (release) {

BoutonEnabled();

}


no nombrilism
0
sebct Messages postés 20 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 26 juillet 2005
25 juil. 2005 à 15:07
Génial !

De la même façon, si on veut lancer une fonction au bout de n secondes ça donnerait le code ci-dessous ?

function fctDecalee() {
var timerInterval = setInterval(function () {
fonction_a_executer1();
fonction_a_executer2();
clearInterval(timerInterval);
}, 5000);
}

En tout cas, merci beaucoup :p
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
25 juil. 2005 à 15:51
En théorie oui, mais la fonction "setInterval" est assez têtue...et en
général je déclare mes fonctions en global pour pouvoir les appeler
dans un setInterval, idem pour les chemins relatifs "this.clip1" par
exemple marchera pas avec cette écriture, faudra mettre "_root.clip1".



Y'a une façon de faire...j'crois même que c'est expliqué dans l'aide de Flash



@+! Samy
0