我在显示排行榜配置文件的网站上使用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", { ... })
}
..然后在每个元素之后加载。
答案 0 :(得分:1)
如果在DOM准备好后异步加载配置文件,那么是的,在加载后对每个配置文件初始化peity是有意义的。 $(window).load()等待,直到所有内容页面上的其他内容(相关或不相关的配置文件)完全加载。
要考虑的一件事是每个实例都需要资源虔诚。根据您拥有的配置文件/饼图的数量,在加载 last 配置文件后(但在window.load之前),可以更快地将它们全部调用。我将尝试用jsperf稍微更新一下......现在开始工作:)