1. 部品1. BOM とは何ですか? BOM (ブラウザ オブジェクト モデル) は、コンテンツとは独立してブラウザ ウィンドウと対話するオブジェクトを提供するブラウザ オブジェクト モデルです。そのコア オブジェクトはウィンドウです。 BOM は一連の関連オブジェクトで構成され、各オブジェクトは多くのメソッドとプロパティを提供します。 BOM には標準がありません。JavaScript 構文の標準化団体は ECMA で、DOM の標準化団体は W3C です。BOM はもともと Netscape ブラウザ標準の一部でした。 2. BOMの構成次の図に示すように: ウィンドウ オブジェクトはブラウザーの最上位オブジェクトであり、2 つの役割を持ちます。 JS がブラウザ ウィンドウにアクセスするためのインターフェイスです。別のグローバル オブジェクト。グローバル スコープで定義された変数と関数は、ウィンドウ オブジェクトのプロパティとメソッドになります。 呼び出し時にウィンドウを省略できます。alert()、prompt() などはすべてウィンドウ オブジェクトのメソッドです。 ウィンドウ オブジェクトを呼び出して、そのオブジェクトにどのようなプロパティとメソッドがあるかを確認できます。 以下のように表示されます。 コンソールログ(ウィンドウ); 傍受された部分は次のとおりです。 グローバル スコープで定義された変数と関数は、ウィンドウ オブジェクトのプロパティとメソッドになることがわかります。 2. ウィンドウオブジェクトの共通イベント1. ウィンドウ読み込みイベントJavaScript の実行メカニズムでは、コードの実行は上から下の順番で実行されることがわかっているので、ボタンにクリック イベントを追加する場合は、次のように、まずボタンを設定し、次にボタンを動作させるしかありません。 <本文> <button>クリック</button> <スクリプト> var btn = document.querySelector('ボタン'); btn.onclick = 関数(){ alert('クリックしました!') } </スクリプト> </本文> 効果をクリックします: バインドされたクリック イベントをページの先頭に配置したい場合、明らかにそれは不可能です。では私たちは何をすべきでしょうか?現時点では、ウィンドウ読み込みイベントを通じてこれを完了できます。 window.onload = 関数(){} //またはwindow.addEventListener("load",function(){}); 上記の例のように: <本文> <スクリプト> window.onload = 関数(){ var btn = document.querySelector('ボタン'); btn.onclick = 関数(){ alert('クリックしました!') } } </スクリプト> <button>クリック</button> </本文> クリック効果もこの時点で実現できます。 以下の点に注意してください。 1. 2. 従来の 3. addEventListener を使用する場合、制限はありません。 この時点でクリック イベントもあり、その操作を要素の前に配置したい場合はどうすればよいでしょうか。 試してみましょう: <スクリプト> window.onload = 関数(){ var btn = document.querySelector('ボタン'); btn.onclick = 関数(){ alert('もう一度クリックしました!') } } window.onload = 関数(){ アラート('こんにちは') } </スクリプト> <button>クリック</button> </本文> 印刷結果はどうなりますか? 最初のイベントは 2 番目のイベントによって上書きされることがわかります。これは、次のように別の方法で操作できます。 document.addEventListener('DOMContentLoaded',function(){}) コードは次のとおりです: <スクリプト> document.addEventListener('DOMContentLoaded',function(){ var btn = document.querySelector('ボタン'); btn.onclick = 関数(){ alert('もう一度クリックしました!') } アラート('こんにちは') }) </スクリプト> <button>クリック</button> </本文> 実行結果は次のとおりです。 2. ウィンドウサイズ調整イベント多くのウェブサイトでは、ウィンドウのサイズを変更すると、それに応じて内部のコンテンツも変更されます。これはどのように行われるのでしょうか?ここでは、ウィンドウのサイズ変更イベントを使用します。 形式は次のとおりです。 //(1) window.onresize = 関数(){} //(2) ウィンドウにイベントリスナーを追加します("サイズ変更",関数(){}); window.onresize はウィンドウのサイズ変更の読み込みイベントであり、トリガーされると処理関数が呼び出されます。 例えば: ページ内にボックスがあります。ページの幅が 800 ピクセル未満の場合は、このボックスの色が紫色に変わります。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta http-equiv="X-UA-compatible" content="IE=edge"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>ドキュメント</title> <スタイル> div { 幅: 100ピクセル; 高さ: 100px; 背景色: 赤; } </スタイル> </head> <本文> <div></div> <スクリプト> div = document.querySelector('div') window.onresize = 関数(){ コンソールログ(ウィンドウの内側の幅); if(window.innerWidth <= 800){ div.style.backgroundColor = '緑'; } } </スクリプト> </本文> </html> 印刷結果は次のとおりです。 同様に、 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 画像ブラインド表示の効果を実現するための純粋な CSS の例
>>: MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス
ブラウザはTIF形式の画像を表示しますコードをコピーコードは次のとおりです。 <html>...
Docker デーモンは、 HTTP_PROXY 、 HTTPS_PROXY 、およびNO_PRO...
一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...
機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...
コードをコピーコードは次のとおりです。 <選択> <オプション値="&q...
目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...
目次0. Webpackとは1. Webpackの使用2. Webpackのコアコンセプト2.1 エ...
1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....
ウェブサイトのフロントエンド開発で発生するセキュリティ問題は、クライアントブラウザで実行されるコード...
目次序文1. SCPの使用法2. sftpを使用する3. scp と sftp の違いは何ですか?ど...
目次関数基本的なクエリ関数クエリ条件の初期化ページのレンダリングクエリと表示の最適化をさらに強化プル...
複数行のテキストがオーバーフローすると省略記号が表示されますこの記事では 2 つの方法を推奨します。...
最近、毎日変更されるページを iframe を使用して呼び出す必要があるプロジェクトがあります。その...
1. インストール環境コンピュータモデル: Lenovo Y471a (i5) ノートパソコンシステ...
(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...