【问题标题】:jquery dialog takes a while to openjquery 对话框需要一段时间才能打开
【发布时间】:2011-08-19 12:03:15
【问题描述】:

目前我们有一个包含 4 个表的 jquery 对话框。每个都有许多复选框:

  • 第一个框有大约 10 个复选框
  • 第二个大约 300 个(每个国家一个)
  • 第三和第四大约各有 100 个

当我单击按钮打开对话框时,可能需要一段时间 IE7 = 10 秒 IE6 = 15+ 秒

即使是 chrome 也需要 2 秒才能打开一个对话框(明显的延迟)。

当 jquery 有一个包含大量 DOM 对象的对话框时,它是否无法快速处理打开的对话框?

附:该对话框已在页面加载时初始化,因此我假设对话框打开将接近即时。

【问题讨论】:

  • 是先添加内容然后打开对话框,还是在打开对话框后添加内容(复选框等)?最后一种情况可能会慢一些。当然这也完全取决于你的机器。
  • 您需要向我们展示一些代码,以便我们看到您在做什么
  • 在我们调用打开之前,内容已经添加到盒子中。粘贴代码有点棘手,但可能很快就会试一试!

标签: jquery performance dialog


【解决方案1】:

首先尝试打开对话框,然后追加内容。有时这会大大提高性能。

$('#dialog ').dialog('open');
$('#dialog ').html(yourContent);

还可以尝试熟悉 jQuery 性能规则,因为存在编写糟糕的慢 jQuery 之类的东西:

http://www.artzstudio.com/2009/04/jquery-performance-rules/

最后,有时当模态框的内容很重时,将可拖动设置为 false 也可以提高框的性能。所以如果你不需要可拖动的尝试:

draggable: false 

【讨论】:

    猜你喜欢
    • 2010-12-06
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 2012-05-15
    • 2023-03-26
    相关资源
    最近更新 更多