le code javascript de base question: au bout de 5 secondes, définir la variable à true
Im en fait, d'essayer d'accomplir les tâches suivantes. Je veux qu'il sorte dans les 5 secondes après le chargement de la page, il va définir la variable à true.
La fois vrai, il va continuer à donner l'alerte "vrai".. pour l'instant.
Si quelqu'un essaie de cliquer sur le bouton avant 5 secondes, ça va donner l'alerte faux.
Voici ce que j'ai réussi à taper. N'est pas exactement de travail. Merci 🙂
OriginalL'auteur Ricky | 2009-11-16
Vous devez vous connecter pour publier un commentaire.
Vous avez la bonne idée, mais vous avez un problème mineur avec la portée des variables. Pour réduire les maux de tête, il est vraiment mieux pour obtenir loin de l'aide de la chaîne eval option sur
setTimeout
(qui est affichée dans tous les tutoriels sur le web, je sais) et utiliser une fonction anonyme:De cette façon, vous saurez exactement où
link
est déclarée et la portée est clair comme du cristal.OriginalL'auteur brianreavis
Essayez ceci:
Ceci permettra de définir la variable globale "lien" pour vrai au bout de 5 secondes, ce qui permettra de satisfaire vos si l'instruction.
Modifier
Cela peut être un peu compliqué si vous êtes un débutant, mais une meilleure façon de le faire est d'utiliser la fonction de champ plutôt que de portée mondiale.
Dans votre cas, déclarer la fonction de la minuterie comme ceci:
De cette façon, la fonction anonyme renvoie une autre fonction qui devient de la minuterie(), mais ce mode de minuterie a accès à son "privé" lien variable. Pour plus d'informations, consultez Mozilla article sur le JavaScript de la portée des variables
OriginalL'auteur Matt