jQuery技术

提高JQuery性能的几个技巧(2)

字号+ 作者:H5之家 来源:H5之家 2015-09-22 13:06 我要评论( )

在页面中对DOM操作是比较消耗的(比如在页面插入或删除一段文字),把这个改动降至最小是保持性能的最佳实践!比如: ul id=test/ulscript type=text/javascriptvar $list = $(#test);for (i = 1; i 101; i++) {$li

在页面中对DOM操作是比较消耗的(比如在页面插入或删除一段文字),把这个改动降至最小是保持性能的最佳实践!比如:

<ul id="test"> </ul> <script type="text/javascript"> var $list = $("#test"); for (i = 1; i < 101; i++) { $list.append("<li>Item" + i + "</li>"); } //very bad,change dom 100 times var listItem = ""; for (j = 1; j < 101; j++) { listItem += "<li>Item" + j + "</li>"; } $list.html(listItem); //good practice,only modify dom once </script>
可以看出,第一个例子对DOM修改100次,而第二个只对DOM修改1次,这上面的性能差距是显而易见的。
 
可以屏蔽JQuery的动画效果

在某些情况下,如果,可以关闭JQuery动画,能对性能进行一定提升,屏蔽的方法是:

<script type="text/javascript"> jQuery.fx.off = true; </script>
 
如果参数可以是JS对象,尽量使用对象

很对JQuery插件,或者JQuery的css和attr方法都接受键/值 或 js键/值对象 对作为参数,传递键值对象可以减少JQuery对象的创建,比如:

<div></div> <script type="text/javascript"> $("div").css("display", "block"); $("div").css("background-color", "blue") //slow,because it create more Jquery object $("div").css({ "display": "block", "background-color": "blue" }); //fast,only create one object </script>

当然也可以使用连缀的方式:

<div></div> <script type="text/javascript"> $("div").css("display", "block").css("background-color", "blue"); </script
但是这种方式的性能不如上面那种.需要使用两个方法,并且需要多生成临时对象. 相关文章

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 7个有用的jQuery小技巧

    7个有用的jQuery小技巧

    2016-02-26 13:02

  • jQuery制作select双向选择列表

    jQuery制作select双向选择列表

    2016-02-26 11:00

  • 全面详细的jQuery常见开发技巧手册

    全面详细的jQuery常见开发技巧手册

    2016-02-26 10:02

  • 强大的jQuery移动插件Top 10

    强大的jQuery移动插件Top 10

    2016-02-25 09:05

网友点评
/