/ / jQuery timer continue à rouler après le changement de page à l'aide de Ruby on Rails et Turbolinks - javascript, jquery, ruby-on-rails

jQuery timer continue à rouler après le changement de page avec Ruby on Rails et Turbolinks - javascript, jquery, ruby-on-rails, ruby-on-rails-3

J'ai le problème suivant avec une minuterie dans mon application Rails qui utilise jQuery et Turbolinks: j'ai un setTimeout minuterie en cours d'exécution sur ma page de démarrage pour une diapositive d'image. Lorsque je clique sur un lien, la page change, mais le minuteur continue de rouler, ce qui, à mon avis, est causé par Turbolinks. De plus, lorsque je rentre de nouveau dans la page de démarrage, le chronomètre se déclenche à nouveau et s'empile sur l'ancien.

J'ai joué avec clearTimeout (par exemple, en essayant de le placer à différents endroits), mais je ne peux pas le faire fonctionner. J'aimerais pouvoir voir s'il y a setTimeout en cours d'exécution et puis arrêtez-le avant de commencer un nouveau, ou quelque chose comme ça ...

Voici le chronomètre que j'ai sur ma page de démarrage:

var timerSplash = setTimeout(splash, 5000);

Je suis vraiment dans une impasse maintenant et j'ai besoin d'aide!

Réponses:

5 pour la réponse № 1

Tu peux essayer ça

if (window.timerSplash)
clearTimeout(window.timerSplash);

window.timerSplash = setTimeout(splash, 5000);