IE 8/Chrome/Firefox と互換性のあるコメント返信ポップアップマスク効果実装アイデア

IE 8/Chrome/Firefox と互換性のあるコメント返信ポップアップマスク効果実装アイデア
平日はニュースに注目して、テンセントをよく閲覧しています。

しかし、コメントへの返信はほとんど見られません。そこで注意深く探してみると、ページ上のポップアップマスクを通して表示されていることがわかりました。

そこで、じっくりと勉強して自分でシミュレーションしてみました。使い勝手は良く、IE 8/Chrome/Firefox と互換性があります。

アイデア: メイン ページとマスクは 2 つの異なるページであり、マスクは js を使用して iframe を通じて読み込まれます。

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

インデックス.html

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<ヘッド>
<meta http-equiv="コンテンツタイプ" content="text/html;charset=UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<title>iframe の追加</title>
<スタイル タイプ="text/css">
html、本文{高さ:100%;パディング:0px;マージン:0px;}
</スタイル>
</head>
<本文>
<div><input type="button" value="show" id="show-id"/></div>
<div><input type="button" value="test" id="test-id"/></div>
<script type="text/javascript">
$("#show-id").on("click",function(){
$(top.document.body).append('<iframe src="subiframe.html" id="np-pop-iframe" allowtransparency="true" frameborder="0" scrolling="no" style="width: 100%; z-index: 9999; position: fixed; top: 0px; left: 0px; border: none; overflow: hidden; height: 100%;" data-nick="" data-pic="" data-id="" parentid=""></iframe>');
});
$("#test-id").on("click",function(){
アラート("テスト");
});
</スクリプト>
</本文>
</html>

サブフレーム.html:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<ヘッド>
<meta http-equiv="コンテンツタイプ" content="text/html;charset=UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<title>ドキュメント</title>
<スタイル タイプ="text/css">
html、本文{高さ:100%;パディング:0px;マージン:0px;}
.np-popframe-bg-opacity{
フィルター: アルファ(不透明度=50);
-moz-不透明度: 0.5;
不透明度: 0.5;
}
.ラッパー{
位置: 絶対;
border:1px 赤一色;
幅:800ピクセル;
高さ: 800ピクセル;
背景: #fff;
上:1000ピクセル;
左:500px;
}
</スタイル>
</head>
<body class="iframe-body" style="background-image: none; width: 100%; height: 100%; background-position: initial initial; background-repeat: initial initial;">
<div class="np-popframe-bg-opacity" style="高さ: 100%; 幅: 100%; 背景色: #000;"></div>
<div class="np-popframe-bg" id="np-popframe-bg-id" style="高さ: 100%; 幅: 100%; 位置: 絶対; 上: 0px; 左: 0px;"></div>
<div class="wrapper" id="wrapper-id"></div>
</本文>
<script type="text/javascript">
(関数(){
$("#wrapper-id").animate({top:"100px"},"slow");
$("#np-popframe-bg-id").on("クリック",function(){
//$(window.parent.document.getElementById("np-pop-iframe")).remove();
$("#np-pop-iframe",window.parent.document).remove();
});
})(jQuery);
</スクリプト>
</html>

ここではフィルターが必要です。読み込まれたマスクを透明にします。

1 np-popframe-bg-idの主な機能は、コメントボックスの外側の領域を表示することです。この領域をマウスでクリックすると、iframe が削除されます。

2. div は 100% の高さに設定する必要があります。その前に html, body{height:100%;} css を追加する必要があります。そうしないと無効になります。

3 もう一つのポイントは絶対的な位置決めです。

何かを得たら忘れないように記録しましょう!

<<:  CSS変換ページめくりアニメーションレコードの実装

>>:  HTML 特殊文字エンコーディング CSS3 コンテンツに関する簡単な説明:「私は特別なシンボルです」

推薦する

CSSカウンター関連属性の学習の詳細な説明

CSS カウンター属性はほぼすべてのブラウザ (IE8 を含む) でサポートされていますが、あまり使...

ウェブページのドロップダウンリストとdivレイヤーのカバーの問題を選択する

HTML の select 要素に関する質問は、さまざまな場所で提起されています。最近のプロジェクト...

httpsウェブサイトにリファラーhttpsとhttpジャンプリファラーを送信させる方法

この記事では、HTTP プロトコルのリファラーのメタデータ パラメータの提案について説明します。この...

Linux yum コマンドを使用して mysql8.0 をインストールする方法の詳細なチュートリアル

1. 設置前によく掃除する rpm -pa | grep mysql または rpm -qa | g...

Vueは買い物数量を変更できるショッピングカートを実装します

この記事では、Vueを使用してショッピングカートの数量を変更する方法を紹介します。具体的な内容は次の...

vuexプロジェクトにおけるログインステータス管理の実践プロセス

目次道具:ログインシナリオ:練習する:シナリオ1: 思考と実践シナリオ2: 思考と実践要約する道具:...

複数の無関係なテーブルからデータをクエリし、MySQL でページングする方法

MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない ...

要素テーブルヘッダー行の高さの問題の解決

目次序文1. 問題の原因2. 解決策VueはelementUIテーブルtr thの高さと背景色を変更...

Centos7 での Mysql5.7.19 の詳細なインストールチュートリアル

1. ダウンロード公式サイトからmysql-5.7.19-linux-glibc2.12-x86_6...

MySQL データ アーカイブ ツール mysql_archiver の詳細な説明

目次I. 概要2. pt-archiverの主なパラメータ3. mysql_archiverのインス...

シェル スクリプトを使用してワンクリックで MySQL 5.7.29 をインストールする方法

この記事は51CTOブログの著者wjw555の作品を参照しています。スクリプトの内容: vim イン...

Vue カプセル化コンポーネント アップロード画像コンポーネント

この記事の例では、参考のためにvueアップロード画像コンポーネントの具体的なコードを共有しています。...

NetEase ブログで使用されているシンプルな Web ページ コード

NetEase Blog でコードを使用する方法: まずブログにログインし、ブログのホームページの左...

IE6 で CSS スタイルの div または li の背景のタイリングと境界の破損を解決する方法

IE6 で CSS スタイルの div または li の背景のタイリングや境界の破壊を解決するには、...

CentOS 7 は Hadoop 2.10 の高可用性 (HA) をビルドします

この記事では、CentOS 7 で高可用性 Hadoop 2.10 クラスターを構築する方法を紹介し...