5

我在显示排行榜配置文件的网站上使用 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", { ... })
}

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

4

1 回答 1

1

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

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

于 2012-09-11T14:13:43.130 回答