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 シングルインスタンス自動起動サービスの設定プロセス
Nginx の最適化 - バージョン番号と Web ページのキャッシュ時間を非表示にするバージョン番...
目次導入インストール1. マウントするフォルダを作成する2. イメージをプルする3. コンテナを作成...
tar バックアップ システム sudo tar cvpzf backup.tgz --exclud...
1. CSS を使用して、小さな尖った角のチャット ダイアログ ボックスと尖った角の吹き出しを描画...
最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...
データベース (MySQL) を準備します。すでに MySQL をお持ちの場合は、これを無視できます...
目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...
MySQL 8 Windows版 zipインストール手順(ダウンロードアドレス) 1. ZIPファイ...
1. 需要正しい Cookie 配信と SSO テストを確実に実行できるように、ローカル テスト ド...
1. CPU使用率sar -p (一日中表示) sar -u 1 10 (1: 1秒ごと、10: 1...
目次Docker を使用する理由は何ですか? DockerのインストールROSイメージを取得するRO...
1. イメージをプルするdocker pull レジストリ.cn-hangzhou.aliyuncs...
最近、社内に Hadoop テスト クラスターを構築したいので、docker を使用して Hadoo...
1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...
CSS3はクールな3D回転パースペクティブを実現します3D アニメーション効果はますます人気が高まっ...