jQuery alternative à l' $.chaque
J'ai trouvé que le $.chacun est très lent et crée des problèmes pour les pages web si le contenant beaucoup de différents effets jQuery.
Je voudrais savoir si il est une bonne alternative à l' $.chaque, par exemple:
$('ul li').each(function() {
var singleLi = $(this);
});
sans hover, comment puis-je faire la même chose sans l'aide de chacun?
Grâce.
Vous avez quelques erreurs de syntaxe dans votre code.
- Je remettre en question la prétention que "$.chacun()" est lui-même une cause de problèmes de performances. Ce n'est pas, à mon avis et de l'expérience, sauf pour certaines performances extrêmes des situations qui, par définition, ne se traduirait pas par "beaucoup de différents effets jQuery". Vous devriez poster un exemple de ce que vous considérez comme un problème, et alors nous pouvons les aider à trouver la réel problème.
$.chacun est lente. Si vous l'utilisez pour les masses de données est très lent.
Non, @Toro, il est vraiment pas lent. Oui, c'est plus lente qu'une boucle "for", mais esp. moderne JavaScript runtimes la surcharge n'est pas grande. Dans votre exemple, par exemple, combien de
- Je remettre en question la prétention que "$.chacun()" est lui-même une cause de problèmes de performances. Ce n'est pas, à mon avis et de l'expérience, sauf pour certaines performances extrêmes des situations qui, par définition, ne se traduirait pas par "beaucoup de différents effets jQuery". Vous devriez poster un exemple de ce que vous considérez comme un problème, et alors nous pouvons les aider à trouver la réel problème.
$.chacun est lente. Si vous l'utilisez pour les masses de données est très lent.
Non, @Toro, il est vraiment pas lent. Oui, c'est plus lente qu'une boucle "for", mais esp. moderne JavaScript runtimes la surcharge n'est pas grande. Dans votre exemple, par exemple, combien de
<li>
éléments pour vous? Si il y a des milliers et des milliers d'entre eux, le problème, c'est que votre DOM est très large, pas que "$.chacun()" est lente.OriginalL'auteur Andrea Turri | 2011-04-21
Vous devez vous connecter pour publier un commentaire.
Exactement de la même manière sans
each
stop()
veillera à ce que les deux effets ne se chevauchent pas.Bien, vous souhaiterez peut-être utiliser
.stop(true, true)
, sinon, ils font juste que, s'arrêter et de ne jamais terminer l'animation et votre coincé avec une demi-délavé div.besoin de stop(true, true)... ou alors il ne fonctionne pas. Mais ma Question est différente.
Notez que le code de l' ".hover()" méthode va effectuer un ".chacun()" en interne de toute façon ...
Jusqu'voté en raison de l'introduction de l' .méthode stop (), que je me suis toujours demandé si il y avait un moyen de prévenir plusieurs déclencheurs des effets jQuery qui s'exécutent jusqu'à ce que complètement itérer. Je soupçonne
.stop()
arrêtera de le faire.OriginalL'auteur Naveed Ahmad
Si vous souhaitez une réelle alternative$.chacun()", il suffit d'utiliser une boucle "for":
Les suggestions que vous pouvez sauter ".chacun()" et il suffit d'utiliser ".hover()" directement sont corrects, mais ils manquent le point: ceux jQuery routines d'effectuer un ".chacun()" en interne de toute façon.
Je doute que le fait de passer de "$.chacun()" de la boucle "for" seront tous par lui-même une grande différence, cependant.
J'ai essayé ce lieu de $.obtenir, principalement parce qu'il me donnait une erreur $.obtenir. Donc, il a marché parfaitement. Je recommande fortement pour le cycle au lieu de $.get().
OriginalL'auteur Pointy
oui... il suffit d'ajouter le hover pour tous li
OriginalL'auteur Neal
Comme un ID doit être unique, l'ensemble de script ne devrait pas changer si la
.each()
est supprimé.$.hover()
ne signifie pas grand chose.OriginalL'auteur Orbling