Skip to main content
 首页 » 编程设计

jQuery:使用函数代替 $(document).ready

2026年07月28日5leader

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

到目前为止,我的解决方案是将 Piety 从 $(document).ready 移动到 $(window).load - 这对于大多数配置文件都非常有效。然而,排行榜顶部的人拥有非常大的个人资料,这在 $(window).load 启动并完成所有 Piety 元素之前需要等待一段时间。

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

类似于..

来自:

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

致:

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

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

请您参考如下方法:

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

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