Maison  >  Article  >  interface Web  >  Comment implémenter un calque de masque en HTML Comment utiliser un calque de masque dans la production de pages HTML_HTML/Xhtml_Web

Comment implémenter un calque de masque en HTML Comment utiliser un calque de masque dans la production de pages HTML_HTML/Xhtml_Web

WBOY
WBOYoriginal
2016-05-16 16:45:591626parcourir

L'utilisation d'un calque de masque dans les pages Web peut empêcher des opérations répétées et un chargement rapide ; il peut également simuler des fenêtres modales contextuelles.

Idée d'implémentation : Un DIV sert de calque de masque et un DIV affiche l'image GIF dynamique de chargement. Dans l’exemple de code suivant, il montre également comment appeler le calque de masque d’affichage et de masquage dans la sous-page iframe.

Exemple de code :

index.html

Code XML/HTMLCopier le contenu dans le presse-papiers
  1. >  
  2. <html lang="zh- CN">  
  3. <tête>  
  4. <meta charset="utf- 8">  
  5. <méta http-equiv=" Compatible X-UA" contenu="IE=edge">  
  6. <titre>HTML遮罩层titre>  
  7. <lien rel="feuille de style"  href="css/index.css">  
  8. tête>  
  9. <corps>  
  10.     <div class="en-tête"  id="en-tête">  
  11.         <div class="titre- extérieur">  
  12.             <span classe="titre" >  
  13.                 HTML遮罩层使用   
  14.             span>  
  15.         div>  
  16.     div>  
  17.     <div class="corps"  identifiant="corps">  
  18.         <iframe id="iframeRight"  nom="iframeRight" largeur="100%" hauteur="100%"  
  19.             défilement="non" frameborder="0"  
  20.             style="bordure : 0px;marge : 0px; padding : 0px; largeur : 100 % ; hauteur : 100 %;débordement : caché;"  
  21.             onload="rightIFrameLoad(this)" src="body.html">iframe>  
  22.     div>  
  23.        
  24.       
  25.     <div id="superposition"  classe="superposition">div>  
  26.       
  27.     <div id="loadingTip"  classe="astuce de chargement">  
  28.         <img src="images/ chargement.gif" />  
  29.     div>  
  30.        
  31.       
  32.     <div class="modal"  id="modalDiv">div>  
  33.        
  34.     <script type='text/ javascript' src="js/jquery-1.10.2.js"> script>  
  35.     <script type="texte/ javascript" src="js/index.js">< ;/script>  
  36. corps>  
  37. html>  

index.css

Code CSS复制内容到剪贴板
  1. * {   
  2.     marge : 0 ;   
  3.     rembourrage : 0 ;   
  4. }   
  5.   
  6. html, corps {   
  7.     largeur : 100 % ;   
  8.     hauteur : 100 % ;   
  9.     taille de la police : 14px ;   
  10. }   
  11.   
  12. div.header {   
  13.     largeur : 100 % ;   
  14.     hauteur : 100px ;   
  15.     bordure inférieure : 1px pointillé bleu;   
  16. }   
  17.   
  18. div.title-outer {   
  19.     position : relative ;   
  20.     haut : 50 % ;   
  21.     hauteur : 30px ;   
  22. }   
  23. span.title {   
  24.     alignement du texte : gauche ;   
  25.     position : relative ;   
  26.     gauche : 3 % ;   
  27.     haut : -50 % ;   
  28.     taille de police : 22px ;   
  29. }   
  30.   
  31. div.body {   
  32.     largeur : 100 % ;   
  33. }   
  34. .overlay {   
  35.     position : absolue ;   
  36.     haut : 0px;   
  37.     gauche : 0px ;   
  38.     z-index : 10001 ;   
  39.     affichage :aucun ;   
  40.     filter:alpha(opacity=60);   
  41.     couleur de fond : #777 ;   
  42.     opacité : 0,5 ;   
  43.     -moz-opacité : 0,5 ;   
  44. }  
  45. .loading-tip {   
  46.     z-index : 10002 ;   
  47.     position : fixe ;   
  48.     affichage :aucun ;   
  49. }   
  50. .loading-tip img {   
  51.     largeur :100px ;   
  52.     hauteur :100px ;   
  53. }   
  54.   
  55. .modal {   
  56.     position :absolue ;   
  57.     largeur : 600px ;   
  58.     hauteur : 360px ;   
  59.     bordure : 1px solide rgba(0, 0, 0, 0,2 );   
  60.     box-shadow : 0px 3px 9px rgba (0, 0, 0, 0,5 );   
  61.     affichage : aucun ;   
  62.     z-index : 10003 ;   
  63.     bordure-rayon : 6px ;   
  64. }   
  65.   

index.js

Code JavaScript复制内容到剪贴板
  1. fonction rightIFrameLoad(iframe) {
  2.  var pHeight = getWindowInnerHeight() - $('#header').height() - 5 ;
  3.  
  4. $('div.body').hauteur(pHauteur);
  5. console.log(pHauteur);
  6.  
  7. }
  8. // Compatibilité du navigateur Obtenez la hauteur de la fenêtre d'affichage du navigateur
  9. fonction getWindowInnerHeight() {
  10. var winHeight = window.innerHeight
  11. || (document.documentElement && document.documentElement.clientHeight)
  12. || (document.body && document.body.clientHeight);
  13. retour winHeight;
  14.  
  15. }
  16. // Compatibilité du navigateur Obtenir la largeur de la fenêtre d'affichage du navigateur
  17. fonction getWindowInnerWidth() {
  18. var winWidth = window.innerWidth
  19. || (document.documentElement && document.documentElement.clientWidth)
  20. || (document.body && document.body.clientWidth);
  21. retour winWidth;
  22.  
  23. }
  24. /**
  25. * Afficher le calque de masque
  26. */
  27. fonction showOverlay() {
  28. //La largeur et la hauteur du calque de masque sont respectivement la largeur et la hauteur du contenu de la page
  29. $('.overlay').css({'hauteur':$(document). height(),'width':$(document).width()};
  30. $('.overlay').show();
  31. }
  32. /**
  33. * Afficher l'invite de chargement
  34. */
  35. fonction showLoading() {
  36. //Affichez d'abord le calque du masque
  37. showOverlay();
  38. // La fenêtre d'invite de chargement est centrée
  39. $("#loadingTip").css('top',
  40. (getWindowInnerHeight() - $("#loadingTip").height()) / 2 'px');
  41. $("#loadingTip").css('gauche',
  42. (getWindowInnerWidth() - $("#loadingTip").width()) / 2 'px');
  43.                                                          
  44. $(
  45. "#loadingTip").show();
  46. $(document).scroll(
  47. fonction() {
  48. retour faux ;
  49. });
  50. }
  51. /**
  52. * Masquer l'invite de chargement
  53. */
  54. fonction hideLoading() {
  55. $(
  56. '.overlay').hide( );
  57. $(
  58. "#loadingTip").hide( );
  59. $(document).scroll(
  60. fonction() {
  61. retour vrai ;
  62. });
  63. }
  64. /**
  65. * Simuler une fenêtre modale pop-up DIV
  66. * @param innerHtml contenu HTML de la fenêtre modale
  67. */
  68. fonction showModal(innerHtml) {
  69. // Récupère le DIV utilisé pour afficher la fenêtre modale de simulation
  70. var dialog = $('#modalDiv'
  71. );
  72.  
  73. // Paramétrage du contenu
  74. dialog.html(innerHtml);
  75.  
  76. // Fenêtre modale La fenêtre DIV est centrée
  77. dialogue.css({
  78.  'top' : (getWindowInnerHeight() - dialog.height()) / 2 'px' ,
  79.  'gauche' : (getWindowInnerWidth() - dialog.width()) / 2 'px'
  80. });
  81.  
  82. // Fenêtre DIV coins arrondis
  83. Dialog.find('.modal-container').css('border-radius', '6px');
  84.  
  85. // Événement du bouton de fermeture de la fenêtre modale
  86. dialog.find('.btn-close').click(fonction(){
  87. closeModal();
  88. });
  89.  
  90. //Afficher le calque de masque
  91. showOverlay();
  92.  
  93. //Afficher le calque de masque
  94. dialogue.show();
  95. }
  96. /**
  97. * Simuler la fermeture de la fenêtre modale DIV
  98. */
  99. fonction closeModal() {
  100. $('.overlay').hide(
  101. );
  102. $('#modalDiv').hide(
  103. );
  104. $('#modalDiv').html(''
  105. );
  106. }

corps.html

Code XML/HTMLCopier le contenu dans le presse-papiers
  1. >  
  2. <html lang="zh- CN">  
  3. <tête>  
  4. <meta charset="utf- 8">  
  5. <méta http-equiv=" Compatible X-UA" contenu="IE=edge">  
  6. <titre>corps 页面titre>  
  7. <style type="texte/ css">  
  8. * {   
  9.     marge : 0 ;   
  10.     remplissage : 0 ;   
  11. }   
  12.   
  13. html, corps {   
  14.     largeur : 100 % ;   
  15.     hauteur : 100 % ;   
  16. }   
  17.   
  18. .extérieur {   
  19.     largeur : 200 px ;   
  20.     hauteur : 120 px ;   
  21.     position : relative ;   
  22.     haut : 50 % ;   
  23.     à gauche : 50 % ;   
  24. }   
  25.   
  26. .inner {   
  27.     largeur : 200 px ;   
  28.     hauteur : 120 px ;   
  29.     position : relative ;   
  30.     haut : -50 % ;   
  31.     à gauche : -50 % ;   
  32. }   
  33.   
  34. .bouton {   
  35.     largeur : 200 px ;   
  36.     hauteur : 40 px ;   
  37.     position : relative ;   
  38. }   
  39.     
  40. .button#btnShowLoading {   
  41.     haut : 0 ;   
  42. }   
  43.   
  44. .button#btnShowModal {   
  45.     haut : 30 % ;   
  46. }
  47. style>
  48. <script type="texte/ javascript">
  49.  
  50. function showOverlay() {
  51. // Appelez la fenêtre parent pour afficher le calque de masque et les invites de chargement
  52. window.top.window.showLoading();
  53. // Utilisez une minuterie pour simuler la fermeture de l'invite de chargement
  54. setTimeout(function() {
  55. window.top.window.hideLoading();
  56. }, 3000);
  57. }
  58. function showModal() {
  59. // Appel de la méthode de la fenêtre parent pour simuler une fenêtre modale pop-up
  60. window.top.showModal($('#modalContent').html());
  61. }
  62.  
  63. script>
  64. tête>
  65. <corps>
  66.  <div class='extérieur' >
  67.  <div classe='intérieur' >
  68.  <bouton id='btnShowLoading' classe='bouton' onclick='showOverlay();'>Cliquez pour faire apparaître le calque de masquebouton>
  69.  <bouton id='btnShowModal' classe='bouton' onclick='showModal();'>Cliquez pour faire apparaître la fenêtre modalebouton>
  70. div>
  71.  div> 
  72.  
  73.  <div id='modalContent' style='affichage : aucun;'>
  74.  <div class='modal- conteneur' style='largeur : 100 %;hauteur : 100%;couleur de fond : blanc;'>
  75.  <div style='largeur : 100 %;hauteur : 49px;position : relative;gauche : 50 %;haut : 50%;'>
  76.                 <span style='font- taille : 36 px ; largeur : 100 % ; texte-align:centre; display : bloc en ligne ; position:hériter; gauche : -50 %;haut :  -50 %;'>模态窗口1span >  
  77.             div>  
  78.             <bouton classe='btn- fermer' style='largeur : 100 px ; hauteur : 30 px ; position : absolue ; à droite : 30 px ; en bas : 20px;'>关闭bouton>
  79.         div>  
  80.     div>  
  81.     <script type='text/ javascript' src="js/jquery-1.10.2.js"> script>  
  82. corps>  
  83. html>  
  84.   

运行结果:

初始化

显示遮罩层和Chargement提示

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

以上就是本文的全部内容,希望对大家的学习有所帮助。

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn