HTMLでマスクレイヤーを実装する方法 HTML_HTML/Xhtml_Webページ制作でマスクレイヤーを使用する方法

WBOY
リリース: 2016-05-16 16:45:59
オリジナル
1625 人が閲覧しました

Web ページでマスク レイヤーを使用すると、操作の繰り返しを防ぎ、ポップアップ モーダル ウィンドウをシミュレートすることもできます。

実装アイデア: 1 つの DIV はマスク レイヤとして機能し、1 つの DIV は読み込み中の動的 GIF イメージを表示します。次のサンプル コードでは、iframe サブページで表示および非表示のマスク レイヤーを呼び出す方法も示しています。

サンプルコード:

index.html

XML/HTML コードコンテンツをクリップボードにコピー
  1. >
  2. <html lang="zh- CN「>
  3. <>
  4. <meta charset="utf- 8">
  5. <メタ http-equiv=" X-UA-Compatible" コンテンツ="IE=edge">
  6. <タイトル>HTML遮蔽罩层タイトル>
  7. <リンク rel="スタイルシート" href="css/index.css">
  8. >
  9. <ボディ>
  10. <div class="ヘッダー" id="ヘッダー">
  11. <div class="title-外側">
  12. <スパン クラス="タイトル" >
  13. HTML遮蔽罩层使用
  14. スパン>
  15. div>
  16. div>
  17. <div class="body" id="body">
  18. <iframe id="iframeRight" 名前="iframeRight" ="100%" 身長="100%"
  19. スクロール=「いいえ」 frameborder="0"
  20. style="border: 0px;margin: 0px; padding: 0px; width: 100%; height: 100%;overflow : 非表示;"
  21. onload="rightIFrameLoad(this)" src="body.html">iframe>
  22. div>
  23. <div id="オーバーレイ" クラス="オーバーレイ">div>
  24. <div id="loadingTip" クラス="loading-tip">
  25. <img src="images/ reading.gif" />
  26. div>
  27. <div class="モーダル" id="modalDiv">div>
  28. <スクリプト type='text/ javascript' src="js/jquery-1.10.2.js"> スクリプト>
  29. <スクリプト type="text/ javascript" src="js/index.js">< ;/スクリプト>
  30. ボディ>
  31. html>

index.css

CSS コード剪定板への复制コンテンツ
  1. * {
  2. マージン: 0;   
  3. パディング: 0;   
  4. }
  5. html, body {
  6. : 100%;   
  7. 身長: 100%;   
  8. フォントサイズ: 14px;   
  9. }
  10. div.header {
  11. : 100%;   
  12. 高さ: 100px;   
  13. ボーダー下: 1px 破線 ;   
  14. }
  15. div.title-outer {
  16. 位置: 相対;   
  17. トップ: 50%;   
  18. 高さ: 30px;   
  19. }
  20. span.title {
  21. text-align: left;   
  22. 位置: 相対;   
  23. : 3%;   
  24. トップ: -50%;   
  25. フォントサイズ: 22px;   
  26. }
  27. div.body {
  28. : 100%;   
  29. }
  30. .overlay {
  31. 位置: 絶対;   
  32. トップ: 0px;   
  33. : 0px;   
  34. z-index: 10001;   
  35. 表示:なし;   
  36. フィルター:alpha(opacity=60);   
  37. 背景色: #777;   
  38. 不透明度: 0.5;   
  39. -moz-opacity: 0.5;   
  40. }  
  41. .loading-tip {
  42. z-index: 10002;   
  43. 位置: 固定;   
  44. 表示:なし;   
  45. }
  46. .loading-tip img {
  47. :100px;   
  48. 高さ:100px;   
  49. }
  50. .modal {
  51. 位置:絶対;   
  52. : 600px;   
  53. 高さ: 360px;   
  54. ボーダー: 1px solid rgba(0, 0、0、0.2);   
  55. box-shadow: 0px 3px 9px rgba (0, 0, 0, 0.5);   
  56. 表示: なし;   
  57. z-index: 10003;   
  58. ボーダー-半径: 6px;   
  59. }

index.js

JavaScript コード复制コンテンツ到剪贴板
  1. 関数 rightIFrameLoad(iframe) {
  2. var pHeight = getWindowInnerHeight() - $('#header').height() - 5 ;
  3. $('div.body').height(pHeight);
  4. console.log(pHeight);
  5. }
  6. // ブラウザの互換性 ブラウザのビューポートの高さを取得します
  7. 関数 getWindowInnerHeight() {
  8. var winHeight = window.innerHeight
  9. || (document.documentElement && document.documentElement.clientHeight)
  10. || (document.body && document.body.clientHeight);
  11. return
  12. winHeight;
  13. }
  14. // ブラウザの互換性 ブラウザのビューポート幅を取得
  15. 関数
  16. getWindowInnerWidth() {
  17. var
  18. winWidth = window.innerWidth || (document.documentElement && document.documentElement.clientWidth)
  19. || (document.body && document.body.clientWidth);
  20. return
  21. winWidth;
  22. }
  23. /**
  24. * マスクレイヤーを表示
  25. */
  26. 関数
  27. showOverlay() {
  28. //マスクレイヤーの幅と高さは、それぞれページコンテンツの幅と高さです
  29. $('.overlay'
  30. ).css({
  31. '高さ':$(ドキュメント).高さ(),'幅':$(document).width()}); $('.overlay').show();
  32. }
  33. /**
  34. * 読み込みプロンプトを表示
  35. */
  36. 関数 showLoading() {
  37. //最初にマスクレイヤーを表示
  38. showOverlay();
  39. // ロードプロンプトウィンドウが中央に配置されます
  40. $("#loadingTip").css('top',
  41. (getWindowInnerHeight() - $("#loadingTip").height()) / 2 'px');
  42. $("#loadingTip").css('left',
  43. (getWindowInnerWidth() - $("#loadingTip").width()) / 2 'px');
  44. $(
  45. "#loadingTip").show();
  46. $(document).scroll(
  47. function() {
  48. return false; });
  49. }
  50. /**
  51. * 読み込みプロンプトを非表示
  52. */
  53. function
  54. hideLoading() { $(
  55. '.overlay'
  56. ).hide(); $("#loadingTip"
  57. ).hide();
  58. $(document).scroll(function
  59. () {
  60. return
  61. true; }); }
  62. /**
  63. * ポップアップモーダルウィンドウ DIV をシミュレート
  64. * @param innerHtml モーダル ウィンドウ HTML コンテンツ
  65. */
  66. 関数 showModal(innerHtml) {
  67. // シミュレーションモーダルウィンドウの表示に使用される DIV を取得します
  68. var ダイアログ = $('#modalDiv' );
  69. // 設定内容
  70. ダイアログ.html(innerHtml);
  71. // モーダルウィンドウ DIV ウィンドウが中央に配置されます
  72. Dialog.css({
  73. 'top' : (getWindowInnerHeight() - Dialog.height()) / 2 'px'
  74. 'left' : (getWindowInnerWidth() - Dialog.width()) / 2 'px'
  75. });
  76. // ウィンドウ DIV の角丸
  77. Dialog.find(
  78. '.modal-container').css('border-radius', '6px');
  79. // モーダルウィンドウ閉じるボタンイベント
  80. Dialog.find(
  81. '.btn-close'
  82. ).click(function(){ closeModal();
  83. });
  84. //マスクレイヤーを表示
  85. showOverlay();
  86. //マスクレイヤーを表示
  87. ダイアログ.show();
  88. }
  89. /**
  90. * モーダルウィンドウを閉じるシミュレーション DIV
  91. */
  92. 関数
  93. closeModal() { $(
  94. '.overlay'
  95. ).hide(); $('#modalDiv'
  96. ).hide();
  97. $('#modalDiv'
  98. ).html(
  99. ''); }

    body.html

    XML/HTML コードコンテンツをクリップボードにコピー
    1. >
    2. <html lang="zh- CN「>
    3. <>
    4. <meta charset="utf- 8">
    5. <メタ http-equiv=" X-UA-Compatible" コンテンツ="IE=edge">
    6. <タイトル>本文页面タイトル>
    7. <スタイル タイプ="text/ css">
    8. * {
    9. マージン: 0;   
    10. パディング: 0;   
    11. }
    12. html, body {
    13. 幅: 100%;   
    14. 高さ: 100%;   
    15. }
    16. .outer {
    17. 幅: 200px;   
    18. 高さ: 120px;   
    19. 位置: 相対。   
    20. トップ: 50%;   
    21. 左: 50%;   
    22. }
    23. .inner {
    24. 幅: 200px;   
    25. 高さ: 120px;   
    26. 位置: 相対。   
    27. トップ: -50%;   
    28. 左: -50%;   
    29. }
    30. .button {
    31. 幅: 200px;   
    32. 高さ: 40px;   
    33. 位置: 相対。   
    34. }
    35. .button#btnShowLoading {
    36. トップ: 0;   
    37. }
    38. .button#btnShowModal {
    39. トップ: 30%;   
    40. }
    41. スタイル>
    42. <スクリプト type="text/ javascript">
    43. function showOverlay() {
    44. // 親ウィンドウを呼び出してマスク レイヤと読み込みプロンプトを表示します
    45. window.top.window.showLoading();
    46. // タイマーを使用して、読み込みプロンプトを閉じることをシミュレートします
    47. setTimeout(function() {
    48. window.top.window.hideLoading();
    49. }, 3000);
    50. }
    51. function showModal() {
    52. // 親ウィンドウ メソッドを呼び出して、ポップアップ モーダル ウィンドウをシミュレートします
    53. window.top.showModal($('#modalContent').html());
    54. }
    55. スクリプト>
    56. >
    57. <ボディ>
    58. <div class='outer' >
    59. <div class='inner' >
    60. <ボタン id='btnShowLoading' クラス='ボタン' onclick='showOverlay();'>クリックしてマスクレイヤーをポップアップ表示しますボタン>
    61. <ボタン id='btnShowModal' クラス='ボタン' onclick='showModal();'>クリックしてモーダルウィンドウをポップアップしますボタン>
    62. div>
    63. div>
    64. <div id='modalContent' スタイル='表示: なし;'>
    65. <div class='modal-コンテナ' スタイル='幅: 100%;高さ: 100%;背景色: 白;'>
    66. <div style='width: 100%;高さ: 49px;位置: 相対;左: 50%;上: 50%;'>
    67. <スパン スタイル='font-サイズ: 36ピクセル; 幅: 100%; テキスト整列:中央; 表示: インラインブロック; 位置:継承; 左: -50%;上: -50%;'>模态窗口1スパン >
    68. div>
    69. <ボタン クラス='btn-閉じる' スタイル='width: 100px; 高さ: 30ピクセル; 位置: 絶対的; 右: 30ピクセル; 下: 20px;'>关闭ボタン>
    70. div>
    71. div>
    72. <スクリプト type='text/ javascript' src="js/jquery-1.10.2.js"> スクリプト>
    73. ボディ>
    74. html>

    运行結果:

    初期化

    显表示遮蔽罩层と読み込み中のヒント

    显示遮蔽罩层和模拟弹出模态窗口

    以上が本書のすべての内容であり、広く学術的に役立つことが期待されます。

    翻訳:

    http://www.cnblogs.com/haoqipeng/p/html-overlay.html

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!