|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 8 ![]() |
Bonjour à tous,
je suis stagiaire dans une start-up et j'ai pour objectif actuel de faire un site vitrine. On m'a demandé de faire un texte qui se déroule petit à petit. Pas de problèmes jusque là, ça fonctionne. Néanmoins j'ai remarqué un bug, qui me semble logique étant donné que je n'en prends pas compte dans mon code. Lorsque je clique sur le bouton qui appelle la fonction JavaScript, le texte se déroule. Mais si j'appuie une seconde fois dessus pendant que le texte est en train de se dérouler, la page web se met à clignoter. J'utilise un timer, donc la fonction qui est rappelée ne doit pas comprendre si le texte est déroulé ou non, d'où le fait qu'elle bug. J'ai essayé d'utiliser une variable globale afin de dire à la fonction si mon texte était en mode "déroulage" ou "remontage", mais cela n'a pas fonctionné. Voici mon code : Code :
Merci pour votre aide ! |
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Mathias PhilippeDéveloppeur Web Inscription : septembre 2011 Messages : 75 ![]() |
Bonjour,
Sinon, j'ai réorganisé un peu ta fonction, il faut donc ajuster je pense (pas eu le temps de tester) mais ça devrai améliorer quelques points selon moi : - A ta ligne 7, tu devrais inverser la condition pour éviter une erreur si la propriété n'existe pas. - Il faut créer des variables pour les objets / sous-objets que tu utilises plusieurs fois - Crée une seule fonction avec la condition dedans plutôt que de la redéclarer dans la condition. - Déclares toutes tes variables en premier pour éviter les erreurs (voir scope et hoisting si tu veux des détails) Code :
|
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 8 ![]() |
Merci pour ta réponse.
J'ai testé et compris le fonctionnement de ton code mais il n'a pas eu l'effet escompté. Il fait planter Firefox ainsi que Google Chrome. J'ai essayé d'autres solutions mais je n'ai pas trouvé. EDIT : je pense à essayer de désactiver le lien temporairement, pendant le déroulage/remontage. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonsoir
remplaces les setInterval et les clearInterval par des setTimeout et clearTimeout |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 8 ![]() |
|
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
peux tu nous mettre ton code actuel, je me suit rendu compte que je me suis basé sur celui de le code MrPringle.
Dore et déjà il y a quelque chose qui foire, ce sont les tests dans la fonction. SI objetCache ALORS afficheObjet(); SINON autreChose(); FIN SI |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com