我在 HTML 页面上有几千个按钮。准备好文档需要超过 10 秒的时间$(".buttonset").buttonset();
。有没有更快的方法来做到这一点,或者是我唯一以某种方式限制按钮数量的解决方案?
问问题
1161 次
2 回答
3
buttonset
在第一次显示之前按需创建s。
我刚刚测试了 2400 个盒子,分成 12 个部分。它使用 Chrome 23、Firefox 17、IE9、Opera 12 在我的 i7 上流畅运行。
这可能会在您第一次打开复选框组时添加拆分加载时刻,但它确实通过在必要时不创建未使用的样式按钮来节省一些 RAM。
于 2012-08-21T19:01:58.330 回答
2
对于设置数千个按钮所需的速度,您无能为力buttonset()
,但如果 10 秒的问题是浏览器消息说页面已无响应,您可以将操作分解为异步操作setTimeout 调用。
$(".buttonset").buttonset();
会成为:
$(".buttonset").each(function(index, button) {
setTimeout(function() {
$(button).buttonset();
}, 0);
});
我已经成功地将这种模式与数千个 jQuery UI 对象一起使用,虽然它不会加快操作速度,但它会阻止页面锁定,从而看起来它运行得更快。
于 2012-08-21T18:35:46.310 回答