2011-09-27 43 views
-3

我的應用程序中有一個用戶界面頁面,需要很長時間才能加載。document.ready()函數減慢我的用戶界面性能

在HTML源代碼,你可以看到,我有一系列。點擊()中的document.ready jQuery的事件處理程序()函數如下的:

$(document).ready(function() { 
$("#selectAllCountry").click(function() { 
    $("#" + $(this).attr('rel') + " INPUT[type='checkbox']").attr('checked', true); 
    return false; 
}); 


... and many more... 

會不會影響我頁面的性能?在HTML正文中移動這個.click處理程序是否有助於保護它?

還有一件事,我使用iframe在同一個域中加載另一個頁面。但是,即使我刪除了iframe標籤,性能提高並不多。我知道,這個iframe的東西是我應用程序性能的一個主要瓶頸,我最終會刪除它,但是我仍然需要爲此頁面做些其他事情。那個特定的東西可能是什麼?

我的頁面是慢慢的在性能上,甚至,Y鉻得到了當我試圖得到源爲了重現scenarion在jsbin絞死。:(

+0

你有什麼觀察,性能代價? –

+1

我很肯定你會因爲你發佈的代碼牆而得到低價。考慮SSCCE中的第一個S(http://sscce.org/)。爲了記錄,我沒有倒下。 – Perception

+0

你真的喜歡我們在這裏看到的那種代碼重複嗎?第一個問題不應該是:我怎樣才能把這個禮儀咒語減少到可以管理的地步? – flq

回答

2

它看起來像你可以減少數量單擊處理程序1,因爲他們似乎都做同樣的事情

如果你可以把selectdeselect類你可以做這樣的要素:

$(".select, .deselect").click(function() { 
    var t = $(this); 
    $("#" + t.attr('rel') + " input:checkbox") 
     .attr('checked', t.hasClass('select')); 
    return false; 
}); 
+0

你對這個人太容易了。 – flq