iframe子ページは親ページを操作し、ページポップアップレイヤーをシールドする効果を実装します。

iframe子ページは親ページを操作し、ページポップアップレイヤーをシールドする効果を実装します。
質問: index.html で、iframe が son.html を導入します。son.html で特定の操作をクリックしてページ全体をブロックし、表示するレイヤーをポップアップするにはどうすればよいですか?
準備: index.html son.html
アイデア:
1: index.htmlのiframeにson.htmlを導入する。

コードをコピー
コードは次のとおりです。

<!-- 右の iframe が始まります -->
<div id="resDiv" class="resDiv">
<iframe name="res" class="iframestyle" allowtransparency="true" src="son.html" frameborder="0" scrolling="no"></iframe>
</div>
<!-- 右 iframe の終了 -->

2: index.htmlの本体にシールドレイヤーとコンテンツ表示レイヤーを追加する

コードをコピー
コードは次のとおりです。

<!--ポップアップ ログイン ページ レイヤー-->
<div id="mapLayer" style="display: none; " >
<input type="button" value="閉じる" onclick="closeMap()" />
</div>
<!-- ページ全体を透過的にシールドするために使用されるシールド レイヤー -->
<div id="mapBgLayer" style="position:absolute; display: none;"></div>

3: index.html で div スタイルを設定し、レイヤーを開いたり閉じたりする方法

コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
#背景レイヤー{
背景: #939393 なし 繰り返しスクロール 0 0;
高さ:100%;
幅:100%;
左:0;
トップ:0;
フィルター: alpha(不透明度=80); /* IE */
-moz-opacity: 0.8; /* Moz + FF */
zインデックス: 10000;
}
#レイヤー{
幅: 400ピクセル;
高さ: 400px;
マージン: -180px 0 0 -170px;
左: 50%;
上位: 50%;
位置: 絶対;
背景: #FFF;
zインデックス: 10001;
境界線: 1px 実線 #1B5BAC;
}
</スタイル>
<script type="text/javascript">
/*ページを表示*/
関数 showDiv) {
var bg = document.getElementById("BgLayer");
var con = document.getElementById("レイヤー");
//var w = document.documentElement.clientWidth; //ウェブページの表示領域の幅
//var h = document.documentElement.clientHeight; //ウェブページの表示領域の高さ
var w = document.body.scrollWidth; //ウェブページの全テキスト幅
var h = document.body.scrollHeight; //Webページの全テキストの高さ
// アラート(w+"-"+h);
bg.style.display = "";
bg.style.width = w + "px";
bg.style.height = h + "px";
con.style.display = "";
}
/*閉鎖*/
関数closeDiv() {
var bg = document.getElementById("BgLayer");
var con = document.getElementById("レイヤー");
bg.style.display = "なし";
con.style.display = "なし";
}
</スクリプト>

4: son.htmlの操作が親ページのメソッドを呼び出す

コードをコピー
コードは次のとおりです。

<a href="javascript:void(0)" onclick="parent.window.showDiv()">表示</a>

<<:  CSS 3.0とビデオを組み合わせることでクリエイティブなオープニング効果を実現

>>:  MySQL 8.0.26 のインストールと簡易チュートリアル (インターネット上で最も完全)

推薦する

Linux で gdb を使用してコア ファイルをデバッグする方法

1.コアファイルプログラム実行中にセグメンテーション エラー (コア ダンプ) が発生すると、プログ...

MYSQL の解凍版における中国語の文字化け問題の解決方法

MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...

ウェブサイトのAboutページの紹介コンテンツの書き方

公式、電子商取引、ソーシャル ネットワーキング、個人のいずれの Web サイトでも、訪問者に貴重な時...

MySQL データベースの鉄則 (要約)

適切なデータベース仕様は、ソフトウェア実装の複雑さを軽減し、通信コストを削減するのに役立ちます。この...

MySQLのROUND関数の丸め演算における落とし穴の分析

この記事では、MySQL の ROUND 関数を使用した丸め操作の落とし穴を例を使って説明します。ご...

CentOS7環境でDockerを使ってPHP動作環境を構築する手順を詳しく解説

関連記事: CentOS7でyumを使用してDockerをインストールするDockerを使ってWin...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

MySQL の詳細な単一テーブルの追加、削除、変更、クエリの CRUD ステートメント

MySQL の追加、削除、変更、クエリステートメント1. 練習シートを作成するここでの練習表は3つの...

MySQL 起動時に報告される ERROR:2002 の分析と解決方法

序文この記事は主にMySQL起動エラー2002の分析と解決方法を紹介しています。参考と勉強のために共...

Dockerコンテナ同士を接続する3つの方法の詳しい説明

Docker コンテナ間の相互接続と通信には 3 つの方法があります。 Docker 内部ネットワー...

JSはプログレスバーのスムーズバージョンの詳細な計画を実装します

進捗バーがスムーズではないフロントエンドを学ぶ学生のほとんどは、オーディオプレーヤーやビデオプレーヤ...

CSS3 の display:grid、グリッドレイアウトの紹介

1. グリッドレイアウト(グリッド): Web ページをグリッドに分割し、さまざまなグリッドを組み合...

PSSHを使用してLinuxサーバーを一括管理する

pssh は、多数のマシンでのバッチ ssh 操作に使用される、Python で実装されたオープン ...

MySQLデータベースを定期的に自動バックアップする方法

データは貴重なものであることは誰もが知っています。データをバックアップしなければ、データをそのまま放...