我有某种的webapp在这里,这当然包含的JavaScript和jQuery。 在载入时,函数在文本的每个字母周围包含span
- 约150个字母。然后用户可以选择字母,并在确认后显示结果。一切都很好,顺利,只有最后一部分真的杀死了表演。的JavaScript/jQuery的 - 性能问题
结果保存在三个数组。点击后,会触发为点击元素添加类的函数(这是确认)。
我做这样的(3次,为每个阵列):
$.each(myArr, function(i, v){
$(v).addClass("my-class");
});
是这样工作的,而是因为我操作DOM很大程度上它杀死的性能。
我在MacBook上使用2.26 GHz和2 GB RAM,我不能够在类已被添加后运行一个简单的提示或任何东西。特别是如果一个阵列真的满了,这会对性能产生负面影响。
我已经尝试优化脚本。我缓存了多次使用过的每个DOM对象,但这在每种情况下都是不可能的(我认为...)。我还使用了诸如.my-class
和#my-id
而不是span[class = my-class]
和span[id = my-id]
的选择器来加速所有操作。只有最后一个数组部分是坏的。
有什么办法来优化这部分$.each
?缓存或攻击?或者可能使用其他技术?
我不希望脚本超快速 - 但在显示结果后添加简单的工具提示应该是可能的。
如果'myArr'是一个jQuery集合,您应该可以执行'myArr.addClass('my-class')'。另外,你能否提供一个jsFiddle来说明减速? – millimoose 2012-07-16 19:58:12
数组包含什么? – Bergi 2012-07-16 19:58:26