Pourquoi est - $(document).blur() et $(document).focus() ne fonctionne pas avec Safari ou Chrome?
Je suis la fabrication d'un compteur qui décompte lorsque le document est sur le focus. Il arrête le comptage vers le bas quand il est sur le flou.
Il travaille dans FF, mais avec Safari et Chrome, le compteur ne fonctionne pas du tout.
Est-il un problème de compatibilité avec Safari/Chrome?
Tous, je suis l'aide est $(document).blur()
et $(document).focus()
, et il y a à la fois au sein d'un $(document).ready()
bloc.
var tm;
$(document).ready(function(){
var seconds = 50;
$('#timer').html(seconds);
countdown();
$(window).focus(function(){
function countdown(){
if (seconds > 0) {
seconds--;
$('#timer').text(seconds);
tm = setTimeout(countdown,1000);
}
if (seconds<=0){
$('#timer').text('Go');
}
});
$(window).blur(function(){
clearTimeout(tm);
seconds++;
$('#timer').text(seconds);
});
});
OriginalL'auteur alexx0186 | 2012-04-25
Vous devez vous connecter pour publier un commentaire.
J'ai toujours utilisé des
$(window).focus()
et$(window).blur()
. Essayez ces dernières.Notez également que dans FF et IE le "focus" de l'événement feux sur ~document de charge, tandis que dans Chrome et Safari, il se déclenche uniquement si la fenêtre avait perdu le focus avant et maintenant, il a repris de la.
UPD: Maintenant que vous avez collé votre code, j'ai retravaillé pour (espérons-le) de s'adapter à votre objectif:
Je l'ai déjà expliqué la raison de ne pas compter le premier foyer dans google Chrome. J'ai mis à jour ma réponse avec une solution de navigateur (ou du moins je le pense).
Bonjour merci pour votre solution. Je ne comprenais pas ce que je suis censé mettre dans l'instruction if. quelle est la différence entre
// count = 1;
et// count++;
? Merci beaucoup pour votre aide. Ce qui concernele
if
état s'exécute qu'une seule fois au document de charge. Il définit la valeur initiale du compteur dans le cas où le navigateur est google Chrome ou Safari. Etcount++
exécute chaque fois que la fenêtre est activé, l'incrémentation du compteur. Je ne suis pas sûr si = 1 et ++ est ce que vous avez besoin, parce que vous n'avez pas de décrire en détail la façon dont vous souhaitez que votre compteur de travailler.maintenant, je comprends ce que vous essayez d'atteindre. Regardez le code dans ma mise à jour de réponse.
OriginalL'auteur Dmytro Shevchenko