Fonction de compte à rebours jQuery dans IE

J’ai un problème étrange avec IE8 et les versions antérieures: mon compte à rebours, qui n’est censé être déclenché qu’une seule fois, continue de se déclencher, ce qui n’est pas le cas des navigateurs modernes. Est-ce qu’il y a un moyen de réparer ceci? Merci! Le but est d’avoir un compte à rebours une fois l’entrée sélectionnée.

Code:

$("input").focus (function counter() { $("input").unbind('focus', counter); var count = 60; countdown = setInterval(function(){ $(".clock p").html(count); if (count == 0) { $(".while-ticking").fadeOut(1000); $(".countdown-finished").fadeIn(1000); } else { count--; } }, 1000); }); 

Essayez de cette façon:

 $("input").focus(function() { counter(60) }); function counter(count) { $("input").unbind('focus'); setTimeout(function(){ $(".clock p").html(count); if (count == 0) { $(".while-ticking").fadeOut(1000); $(".countdown-finished").fadeIn(1000); } else { counter(count--); } }, 1000); } 

Edit: Vous devez créer une boucle pour le compte à rebours. Donc, ce que je fais en gros, c’est de commencer avec 60 secondes d’attente et de rappeler la fonction à nouveau, mais ensuite avec 59 .. etc. etc.

Edit: je l’ai testé ce qui suit et cela a fonctionné 🙂 très bien compter à rebours