を実装するダイアログボックスとして、前回の記事で示唆すると、ダイアログボックスの動作を模倣するコンテンツをブロックするようにdiv要素を使用することができます。この記事は、より具体的にWebアプリケーションで効果的なダイアログボックスを実装する近代的なWebアプリケーションの問題に効果的なダイアログボックスの実装を見ている。理論のタイトルは、この資料の引用符内の単語"ダイアログボックス"、これには、div要素ではありませんを示しています真のダイアログボックスを閉じます。その代わりに、HTMLページの境界に制限されます。通常は、コンピュータの画面のどこにでも実際のダイアログボックスを配置することができます。実際のダイアログボックスはこの記事に興味をしています。 、いつのHTMLページを記述するどのような関心はどのようにHTMLの"ダイアログボックスを作成することです。"たとえば、物事の全体をホストなどのためのダイアログボックスを使用することができます
メタ情報をHTMLページ上のホットスポットに関連付けられて提供するために• 余分な情報がフォームに記入するか、ワークフローの処理を要求するには• •メニュー また、失敗を示すためにポップアップウィンドウを使用することができます待つのアイコンとして動作するには•;ポップアップウィンドウ]ダイアログボックスから、違って見えるが、技術が。ソリューションの2つの点でdiv要素のように振る舞うように発生する必要が同一であるの作成に使用ダイアログボックスを閉じます。まず、HTMLページの絶対座標を使用するには、div要素を配置する必要があります。第二に、div要素をマウスの動きを認識する必要があります。次の例は2つのdiv要素から100ピクセルの場所と、クライアントのブラウザウィンドウの最上部から100ピクセルを残しました。 ソース: /サイト/ルート/ Ajaxの記事/ DHTMLビューア/ divdialogessentials.html 例は、HTMLコードは2つのdiv要素が含まれて1つの他の内にネストされた。としては、div要素の色を使用すると、class属性を無視します。代わりに、密接な3つのプロパティ:しているスタイルの属性を見て、上、左と位置。 positionプロパティとの絶対値はその要素の位置を絶対座標を使用して示しています。絶対の左上の座標の隅のプロパティ上で指定され、左には、それぞれの幅と高さを、どのように幅のdiv要素となる高、不足していることを示します。これらのプロパティが見つからない場合は、ブラウザを動的に幅と高さを計算します。HTMLコードの例では、1つのdiv要素の中にカプセル化されます。両方のdiv要素の左からの上部と100ピクセルから100ピクセルに配置されます。一見すると、絶対の両方がdiv要素と同じ場所に位置していることを示して調整します。ただし、これはどのようなブラウザに表示されていません。 2つのdiv要素を互いの上ではなく、他のいずれかを基準にされていません。それは少し困惑され、属性の絶対位置するので、絶対すべき座標を設定します。本当の問題は、"何が絶対ですか?"たとえば、すべての絶対計算するために必要なのは、親要素への敬意を持つ座標系?場合は、div要素が配置されていない使用して、絶対座標を想像してdiv要素が含まれて なる 絶対を使用して位置を調整します。これが含まれているdiv要素を使用する座標系?その答えは、絶対パスまたは位置:相対的な(位置のいずれかに配置されている最後の要素:を使用します:継承がデフォルトです)です。これはどのように相対的な位置に絶対的な位置を取得します。を使用して座標がdiv要素を表示すると、ダイアログボックスのような情報の表示が可能になります。そこで"ダイアログボックス内のリンク"は、ポップアップダイアログボックスを非表示にする機能を追加することができます。ここでは、ダイアログを知ることができること表示され、あなたのonclickメッセージをキャプチャし、そのプロセスが必要です。次のソースコードでは、div要素は、画面上のユーザをクリックします。div要素は、div要素を非表示にするために使用されているリンクが含まれるように見えます。 ソース: /サイト/ルート/ Ajaxの記事/ DHTMLビューア/ clickappeardiv.html 例は、HTMLページでは、身体には、HTMLページが読み込まれ表示されていない単一のdiv要素です。単一のdiv要素は、どこかには、HTMLページに配置されるdiv要素のとき、マウスをクリックします。通知は、幅、高さ、および位置のプロパティには、div要素の宣言の中で割り当てられている。これらのプロパティはデフォルトでは、デザイン時に設定することができますこれにより、コードのときには、div要素の表示を定義するために必要な量を減らしている。 コード例では2つの関数:DisplayDivとHideDivが含まれます。関数DisplayDivには、div要素を表示するために使用されます。関数HideDiv div要素を非表示にするために使用されます。 body.onclickハンドラ関数DisplayDivを呼び出します。 body要素に使用されるため、子供の上方に、親からは、div要素のどこかに表示されたHTMLページ上に配置する必要があるのonclickイベントの泡、および。関数HideDivするときには、div要素が表示されますが表示されているリンクをクリックして呼び出されるときは、HTMLページが読み込まれると、ユーザーは、空白の画面が表示されます。画面の任意の場所をクリックしたときに、body要素は、クリックイベントをキャプチャし、関数DisplayDivには、イベントを渡します。 DisplayDivの実装では、イベントオブジェクトevtは1つの行を使用してテストされます。 1つのラインを越えるために必要なブラウザの互換性。一度完全なイベントオブジェクトを取得されており、evtは割り当てられ、それは、マウスイベントが送信されていると見なされます。ブラウザのマウスイベントを送信したプロパティclientXとclientYは、HTMLページのコンテキスト内でのクリックの座標が含まれています。 div要素style.leftとstyle.topプロパティを使用して位置を調整した後には、div要素が配置されている場合、そのプロパティのstyle.displayを使用して表示されます。あなたは隠す私のリンクをクリックしてdiv要素を非表示にできる次に、空白のHTMLページでの結果。を表示し、div要素の隠れてかなりが、小学校ですが、隠された落とし穴です。場合は、div要素を絶対的な使用は、絶対使用して、別のdiv要素内の座標を誤って配置要素になります座標を設定するにカプセル化され、座標です。これは、クリックイベントを使用して、ブラウザからの相対座標これは、カプセル化されたdiv要素を使用して、親要素からの相対座標に発生します。としては、次のDisplayDiv関数の書き換えは、この問題を解決するには、参照するために、さまざまなプロパティが必要を示しています: 関数DisplayDiv(evt)に(evtは=(evt)に? evtは:((イベント)?イベント:はnull); (evt.layerX)の場合( Xの= evt.layerX; ン= evt.layerY; ) 他の場合(evt.offsetX)( Xの= evt.offsetX; ン= evt.offsetY; )var要素=("表示"); element.style.left = Xの; element.style.top = yをDocument.getElementByIdにて; element.style.display ="ブロック";) 太字のコードは、コードをクリックし、イベントの要素への相対的なクリックされて座標を求めるために使用さを表します。コードのいずれかlayerXまたはoffsetXの存在の2つのテストをしています。もしlayerXが存在する場合、互換性のあるブラウザ、およびaMozilla使用している場合、offsetXが存在する場合は、Microsoft Internet Explorerを使用しています。この変更されたコードは単純な状況で動作しますが、信頼されていないため、座標系に相対的な要素がクリックされる。場合には、中間div要素の上をクリックするとdiv要素div要素div要素内にカプセル内にカプセル化してたとえば、相対的な間違っている座標で言えば、一度絶対的な使用を開始するれている要素内の座標を使用して絶対座標に配置する問題は、実際の位置を把握するんだ。代わりに、clientXとclientY、使用して、絶対的な計算は、HTMLの要素を再帰的に反復処理を使用して座標場所をユーザーがクリックしてメニュー型の機能を実装することができる能力をdiv要素を表示します。あなたは、必要な位置に挿入するエラーを表示するハンドラやその他の情報メッセージを実装することができます。することができない唯一のことは、HTMLページ上の別の位置にドラッグすることができますamessageや機能が表示されます。は、最も簡単な解決策は、マウスダウン、マウス移動を実装するためには、を行うには、マウスのイベントをバックアップします。この単純な音が、余分な作業をしっかりとこれを行うにはかなりのビットが必要です。 スターターの場合は、onclickイベントで、これは、このイベントは、マウスボタンを離すと送信されますを使用することはできません。ドラッグ操作を実装するには、およびonmouseupイベントは、OnMouseDownを、OnMouseMoveのキャプチャする必要があります。ので、かなりの数の詳細は関与している、この資料の残りの部分は、precannedソリューションを使用し、複数のコンテキストでは、このベースのソリューションを適用することができます。ソリューションaWebサイトからファイルをダイナミックドライブ(または、DOMベースdrag.jsと呼ばれる使用することです)、4のみのユーザは、HTML要素をドラッグするかを指定する必要があります。 DOMベースdrag.js実装がすべての低レベルのマウスをクリックして、イベントの詳細を処理します。ツールバーのホットスポットは、HTMLページの周りには、div要素をドラッグするために使用として認められています。これは、div要素の伝統的なダイアログボックスの表記法を使用して定義する必要はありません。次のHTMLコードは、どのようにホットスポットとしてdiv要素を定義することができますを示しています:
通知をどのくらいのレイアウトのコードやスクリプトコードが存在する。レイアウトのコードはどのほとんどのダイアログボックスの実装ではどうなるのされているスクリプトコードを上回った。 DOMを使って、drag.jsソリューションを、あなたの主な焦点のルックアンドフィールの面での値を追加しています。などをドラッグtable要素を作ることができたのDOM - drag.jsソリューションは、div要素を使用する必要はありません。以下のことをするときのダイアログボックスを実装する注意: HTML形式でダイアログボックスを実装するには•使用の絶対座標のプロパティ上、左、ディスプレイ、およびのonclickやOnMouseDownを、OnMouseMove、およびonmouseupマウスのイベント。 •ときは、予定しているダイアログボックスを実装する2つの主要な問題に直面する:右側の座標を取得している要素が発生イベントは、操作される要素に関連があること。たとえば、右上の隅にあるときに、下の左に表示されるメニューを望んでいないの隅をクリックします。この現象は、ユーザーを混乱させることができます。 •常にデリゲートをドラッグアンドドロップ機能を別のライブラリに追加しました。この記事は、DOM - drag.jsソリューションを使用するが、他のソリューションの多くの、たくさんあるし、それらを試してみることをお勧めしています。 記事は、ソニアLandeを提出 免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。 重要: この記事は、""ダイアログボックスを実装する自動ソフトウェアによって翻訳された。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。
|
|||||
| Online: 327 users browsing the articles directory |
|
|