5

シンプルで典型的なユースケースでjQueryダイアログを使用しています:

Javascript では:

$('myDialog').dialog({
    modal: true;
});

HTML の場合:

<div id="myDialog" title="Dialog Title">
    Dialog contents here
</div>

ただし、div のレイアウトとルック アンド フィールを制御するために使用している CSS はmyDialog、ローカル マシンがアクセスできないサーバーでホストされています (理由は聞かないでください)。したがって、Firebug では、CSS ファイルのファイルが見つからないというネットワーク 404 エラーが表示されます。

このダイアログをローカルでテストすると、問題なく表示されます。ただし、ダイアログの呼び出しを実行するコードがトリガーされるmyDialogに、 div の内容が実際に HTML ページに表示されることに気付きました。

したがって、これにより、次の2つのいずれかを信じるようになります。

  • jQuery ダイアログのそれぞれの<div>要素は、デフォルトで非表示/非表示になっています。ただし、ブラウザーが CSS ファイルを見つけることができないというこの奇妙な状況により<div>、ダイアログが画面にポップアップする前にユーザーに表示されます。また
  • jQueryダイアログのそれぞれの<div>要素はデフォルトで表示されており、ページの読み込み時に非表示にするためのアクションを実行する必要があります.

この2つの主張のうち、どちらが正しいか誰か教えてください。

前者の主張が正しければ、コードを開発環境 (CSS ファイルにアクセスできる環境) にプッシュすると、問題自然に解決するはずです

myDialog後者のアサーションが正しい場合、ページの読み込み時に div を非表示にするにはどうすればよいですか?

前もって感謝します!

4

3 に答える 3

13

2番目は多かれ少なかれ正しいです。<div>デフォルト<div>ではHTMLのすべてが表示されるため、ページが読み込まれるとが表示されます。jQueryは、後で乗車するためだけに登場します。

<div>デフォルトで非表示にするだけ.dialogで、いつ表示するかを決定できます。次に例を示します。

CSS:

.hidden { display: none }

HTML:

<div id="myDialog" class="hidden" title="Dialog Title">
    Dialog contents here
</div>

これを行わないと、ページの読み込み時にダイアログがすぐに開くはずがない場合、状況は「望ましくない」から「許容できない」に悪化します。例を参照してください

于 2012-04-24T11:05:36.197 に答える
0

あなたの2番目の主張は正しいです。.dialog()divを呼び出すと、ダイアログがすぐに表示されます

于 2012-04-24T11:05:51.883 に答える