jQuery:使用函数而不是$(document).ready

时间:2012-09-11 13:56:05

标签: jquery

我在显示排行榜配置文件的网站上使用Piety插件。 每个配置文件包含应用Piety的不同数量的元素,并且我发现在加载所有这些元素之前触发$(document).ready

到目前为止,我的解决方案是将Piety从$(document).ready转移到$(window).load - 这对大多数配置文件都很有用。但是,排行榜顶端的人员拥有非常大的个人资料,这会在$(window).load启动并完成所有虔诚元素之前等待相当长的时间。

我想知道是否会出现任何性能问题,如果我在加载时单独调用每个饼,而不是等待$(window).load并让jQuery一次性完成所有操作。

像...这样的东西。

自:

$(window).load(function(){
   $("span.pie").peity("pie", { ... })
}); 

要:

function loadPie(id){
    $("#"+id).peity("pie", { ... })
}

..然后在每个元素之后加载。

1 个答案:

答案 0 :(得分:1)

如果在DOM准备好后异步加载配置文件,那么是的,在加载后对每个配置文件初始化peity是有意义的。 $(window).load()等待,直到所有内容页面上的其他内容(相关或不相关的配置文件)完全加载。

要考虑的一件事是每个实例都需要资源虔诚。根据您拥有的配置文件/饼图的数量,在加载 last 配置文件后(但在window.load之前),可以更快地将它们全部调用。我将尝试用jsperf稍微更新一下......现在开始工作:)