2010-12-09 4 views
0

私のアプリには私のベースJSファイルに含まれているいくつかの異なるダイアログボックスがあります。これにより、すべてのページにいくつかの隠しDIVが作成されました。これは、廃棄物、パフォーマンスヒットなどのように思えます...なぜjQueryのUIダイアログはこれらのDIVを作成するのですか?ダイアログをレンダリングするために実際に呼び出すときにのみ表示されるようにするにはどうすればいいですか?jQuery-uiダイアログ - これらすべてのゴーストDIVを私のページに挿入しました

これらは、それらのいくつか、私は私のページの一番下に持っているものです:

<div style="display: none; z-index: 1000; outline-width: 0px; outline-style: initial; outline-color: initial; " class="ui-dialog ui-widget ui-widget-content ui-corner-all dialog" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-sssss">........... 

コード私は私のダイアログのために使用しています:(特に1ダイアログ):

permissions = $('<div id="dialog-content"></div>') 
.html('<div class="notification"><h4>Loading...</h4></div>') 
.dialog({ 
    autoOpen: false, 
    dialogClass: 'dialog', 
    width: 460, 
    minHeight: 80, 
    position: ['center',130], 
    open: function() { 
     $.ajax({.......}) 
    }, 
    close: function() { 
     // Remove out the Dialog so it show's loading... nex time 
     $('#dialog-content').html('<div class="notification"><h4>Loading...</h4></div>'); 
    }  
}); 
$(".teammember-dialog").live("click",function(){ 
    permissions.dialog('open'); 
    return false; 
}); 

アイデアはありますか?または思考?あなたが、「ゴーストdivを」考え出したようだとして

が...これは技術的に「答え」であれば

答えて

0

が分からないのですが、あなたは思考を求めたので、

をありがとうjQueryUIが実際のダイアログボックスを作成するために使用するdivです。

事前にすべてのダイアログを作成しているかどうかは、「無駄」または「パフォーマンス・ヒット」であるかどうかは、最適化について時期尚早に心配しているように思えます。どれくらいの人がjQueryのダイアログを使用しているのか知りたいとは思っていませんが、ライブラリーの人気を考えれば、パフォーマンスの問題があればそれについて聞いたことがあります。

私は可能な限りパフォーマンスの良いサイトやアプリケーションを作成したいと考えていますが、許容できるパフォーマンスと保守可能なコードの間には常に「幸せな媒体」があります。

jQueryが事前にdivを作成している理由が分かりませんし、「ヒット」がどれほど多いかわかりません。「実行時」(各divが要求されている)でdivを作成すると、ユーザーがダイアログを表示する時間と表示される時間の間に目に見えるほどの遅れがあることを確認しますか?

私は、すべてが言われて実行されたら、そのページでのパフォーマンスの問題を見ているかどうかを尋ねます。ダイアログを実装する前よりも読み込み速度が遅くなっていますか?そうであれば、本当に「うわー」を掘り下げたいのであれば、jQueryUIで素晴らしい人に連絡することをお勧めします。それらにいくつかのコードを提供し、コードからいくつかのパフォーマンスを絞り出すためにコードをリファクタリングする正当性があると思っているかどうかを確認してください。

関連する問題