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 のインストールと簡易チュートリアル (インターネット上で最も完全)

推薦する

Windows で Mysql を起動したときに 1067 が表示される場合の解決策

数日前に仕事を始めて、Mysql をインストールしたところ、開くことができました。今日、会社に行った...

docker を使用してシンプルな C/C++ プログラムをデプロイする方法

1. まずhello-world.cppファイルを作成しますプログラムコードは次のとおりです。 #i...

CSS と HTML とフロントエンド テクノロジーのレイヤー図

JavascriptとDOMの関係は非常に曖昧で、CSSやHTMLのフロントエンド技術層も理解してい...

MySql8.0以降のバージョンでROOTパスワードを正しく変更する方法

展開環境:インストールバージョン Red Hat Cent 7.0 MYSQL バージョン 8.0....

ラベルとボタンを削除し、背景画像の点線/影を追加すると完璧な解決策になります

ユーザーが登録すると、ラベルをクリックして確認コードを変更します。クリックするとラベルに影の部分がで...

新しい要素を作成する3つの方法のまとめ

1つ目: テキスト/HTML経由var txt1="<h1>テキスト。<...

Vueにログイン認証傍受機能を設置するアイデアを詳しく解説

目次1. 解決策2. サーバーから返されたトークンをブラウザに保存する3. リクエストにアクセス権限...

Deepin で virtualenv をインストールして使用するチュートリアル

virtualenv は、分離された Python 仮想環境を作成するためのツールです。独立したディ...

MySQL 8.0.11 インストール概要チュートリアル図

インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...

最新の超詳細な VMware 仮想マシンのダウンロードとインストールのグラフィック チュートリアル

目次1. 仮想マシンをダウンロードする2. 仮想マシンのインストールVMware のダウンロードとイ...

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...

CSS と HTML とフロントエンド テクノロジーのレイヤー図

フロントエンドテクノロジー層 (写真は少し極端ですが、参考までに) Javascript と DOM...

JavaScript でのプロキシの使用を理解するための記事

目次エージェントとは何かプロキシの基礎知識ハンドラオブジェクトのメソッドプロキシでできること参考文献...

MySQL の中国語文字化け問題の解決方法

1. LinuxのMySQLで中国語の文字化けが発生する。以下の操作を実行する。 vi /etc/m...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...