Je crée un jeu en ligne en utilisant jQuery. En raison de beaucoup d'effet fondu pour les ordinateurs plus lents je l'ai fait une option qui définit jQuery.fx.off = true;
qui a causé un problème avec ce code:jQuery sur les ordinateurs lents
$('<div>'+msg+'</div>').fadeOut(5000,function({$(this).remove()}).appendTo('#msg');
Ce message d'affichage de code dans la div #MSG, puis après un message de 5 secondes est parti. Il peut y avoir plusieurs messages et ils peuvent être ajoutés à tout moment. Lorsque jQuery.fx.off = true;
message ne semble pas parce que fadeOut se fait instantanément :(Ce que je besoin est quelque chose comme $('#id').delay(5000).remove()
quand fx.off est vrai.
que je cherchais dans l'aide de jQuery, mais rien trouvé.
fonction JQuery appelé maybeFadeOut ou quelque chose. Il ne fonctionne pas, puisque $ (ce) en fonction setTimeout est probablement vide. – Thinker
Je n'ai jamais testé le code moi-même, mais je suis à peu près sûr que si $ (this) est défini en dehors du setTimeout, il sera Je suis aussi défini dans setTimeout. C'est en fait une fonctionnalité dans de nombreux langages de programmation et est très utile en JavaScript en particulier. –