2011-08-19 57 views
1

目前我們有一個包含4個表的jquery對話框。在它的複選框中的每一個公會人數:jquery對話框需要一段時間才能打開

  • 一箱大約有10複選框
  • 二約300(每個國家之一)
  • 第三和第四有大約100名各

當我點擊在按鈕上打開對話框可能需要一段時間 IE7 = 10秒 IE6 = 15+秒

即使chrome需要2秒鐘才能打開一個對話(一個明顯的延遲)。

是否jquery只是無法快速處理對話框,當它有一個對話框與很多的DOM對象?

P.S.該對話框已經在頁面加載時初始化,所以我會假設打開的對話框會接近即時。

+0

是否首先添加內容,然後打開對話框,或者在打開對話框後添加內容(複選框等)?也許最後一種情況可能會變慢。當然,這也取決於你的機器。 –

+0

您需要向我們展示一些代碼,以便我們可以看到您在做什麼 – Kimtho6

+0

在我們稱之爲開放之前,內容已添加到框中。粘貼代碼有點棘手,但可能會馬上發佈! – Steve

回答

0

首先嚐試打開對話框,然後追加內容。有時這會顯着提高性能。

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

也可以嘗試使用jQuery性能規則熟悉自己是有這樣的事情寫壞慢的jQuery:

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

最後有時當模式對話框的內容是重設置可拖動爲假也可以提高箱子的性能。所以如果你不需要可拖動的嘗試:

draggable: false