当前位置: 代码迷 >> Web前端 >> 话说jquery IE 解释性能有关问题
  详细解决方案

话说jquery IE 解释性能有关问题

热度:113   发布时间:2012-10-19 16:53:36.0
话说jquery IE 解释性能问题
首先不得不承认它的优秀 是一个轻量级的js库,但是在某些时候用的时候不注意的用法 会引程序性能大大的降低。
第一,选择器
$("#traffic_light input.on").bind("click", function(){ ... });
$("#traffic_light input.on").css("border", "1px dashed yellow");
$("#traffic_light input.on").css("background-color", "orange");
$("#traffic_light input.on").fadeIn("slow");
$("#traffic_light input.on").each(function(){
});

像这些方法 在firefox 上看不出效果  但是在IE 上运行完全不一样,因为jquery 自身选择就每次去找这个对象自身不知不觉进入循环中 。
比如像 .css 这方法  去改变样式和直接for   拼在 style =“”中的效果 相差 1000ms (当然Doc比较大时候) 
第二,尽量减少js each(循环) 的次数
第三,若同一个对象要用多次的时候,尽量用一个对象存储(或全局变量) ,这样jquery只会去查找一次,而不会你上面一次查找多次 。
第四,查找时尽量用ID  尽量少用class 查找(本人测试过,速度有非常大的差异)
第五,尽量使用原生的JavaScript方法,因为它不需要拐弯抹角的去调用许多函数。
   相关文档可参考:
[url]https://docs.google.com/View?docID=dft4vhq9_22g93szvdd&revision=_latest
[/url]
[url]https://docs.google.com/View?docID=dft4vhq9_23cnccgwc7&revision=_latest
[/url]
[url]https://docs.google.com/View?docid=dft4vhq9_21hjb7j9fz&revision=_latest
[/url]

  相关解决方案