Durch die Verwendung einer Maskenebene in Webseiten können wiederholte Vorgänge verhindert und das Laden beschleunigt werden. Außerdem können modale Popup-Fenster simuliert werden.
Implementierungsidee: Ein DIV dient als Maskenebene und ein DIV zeigt das ladende dynamische GIF-Bild an. Im folgenden Beispielcode wird auch gezeigt, wie die Ebene der Anzeige- und Ausblendmaske auf der Iframe-Unterseite aufgerufen wird.
Beispielcode:
index.html
XML/HTML-CodeInhalt in die Zwischenablage kopieren
-
>
-
<html lang="zh- CN">
-
<Kopf>
-
<meta charset="utf- 8">
-
<meta http-equiv=" X-UA-kompatibel" Inhalt="IE=edge">
-
<title>HTML遮罩层Titel>
-
<link rel="stylesheet" href="css/index.css">
-
Kopf>
-
<Körper>
-
<div class="header" id="header">
-
<div class="title- außen">
-
<span class="title" >
-
HTML遮罩层使用
-
span>
-
div>
-
div>
-
<div class="body" id="body">
-
<iframe id="iframeRight" name="iframeRight" width="100%" Höhe="100%"
- Scrollen="Nein" Rahmenrand="0"
- Stil="border: 0px;margin: 0px; padding: 0px; width: 100%; height: 100%;overflow : hidden;"
- onload="rightIFrameLoad(this)" src="body.html">iframe>
-
div>
-
-
-
<div id="overlay" class="overlay">div>
-
-
<div id="loadingTip" class="loading-tip">
-
<img src="images/ Loading.gif" />
-
div>
-
-
-
<div class="modal" id="modalDiv">div>
-
-
<script type='text/ javascript' src="js/jquery-1.10.2.js"> Skript>
-
<Skript Typ="text/ javascript" src="js/index.js">< ;/Skript>
-
Körper>
-
html>
index.css
CSS-Code复制内容到剪贴板
-
* {
-
Marge: 0;
-
Auffüllung: 0;
-
}
-
-
html, body {
-
Breite: 100 %;
-
Höhe: 100 %;
-
Schriftgröße: 14px;
-
}
-
-
div.header {
-
Breite: 100 %;
-
Höhe: 100px;
-
border-bottom: 1px gestrichelt blau;
-
}
-
-
div.title-outer {
-
Position: relativ;
-
oben: 50 %;
-
Höhe: 30px;
-
}
-
span.title {
-
Textausrichtung: links;
-
Position: relativ;
-
links: 3 %;
-
oben: -50 %;
-
Schriftgröße: 22px;
-
}
-
-
div.body {
-
Breite: 100 %;
-
}
-
.overlay {
-
Position: absolut;
-
oben: 0px;
-
links: 0px;
-
z-index: 10001;
-
Anzeige:keine;
-
filter:alpha(opacity=60);
-
Hintergrundfarbe: #777;
-
Deckkraft: 0,5;
-
-moz-opacity: 0,5;
-
}
-
.loading-tip {
-
z-index: 10002;
-
Position: fest;
-
Anzeige:keine;
-
}
-
.loading-tip img {
-
Breite:100px;
-
Höhe:100px;
-
}
-
-
.modal {
-
Position:absolut;
-
Breite: 600px;
-
Höhe: 360px;
-
Rahmen: 1px fest rgba(0, 0, 0, 0,2);
-
box-shadow: 0px 3px 9px rgba (0, 0, 0, 0,5);
-
Anzeige: keine;
-
z-index: 10003;
-
Rahmen-Radius: 6px;
-
}
-
index.js
JavaScript-Code复制内容到剪贴板
-
Funktion rightIFrameLoad(iframe) {
-
var pHeight = getWindowInnerHeight() - $('#header').height() - 5 ;
-
-
$('div.body').height(pHeight);
console.log(pHeight); -
-
} -
-
-
// Browser-Kompatibilität Ermitteln Sie die Höhe des Browser-Ansichtsfensters
-
Funktion getWindowInnerHeight() {
-
var winHeight = window.innerHeight
||. (document.documentElement && document.documentElement.clientHeight) -
||. (document.body && document.body.clientHeight);
-
return-
winHeight;
} -
-
- // Browserkompatibilität Ermitteln Sie die Breite des Browser-Ansichtsfensters
-
Funktion
getWindowInnerWidth() { -
var
winWidth = window.innerWidth -
||. (document.documentElement && document.documentElement.clientWidth)
||. (document.body && document.body.clientWidth);
-
return- winWidth;
-
}
-
-
/**
-
* Maskenebene anzeigen
-
*/
-
- Funktion showOverlay() {
-
//Die Breite und Höhe der Maskenebene entsprechen der Breite bzw. Höhe des Seiteninhalts
$(-
'.overlay''height'
:$(document). height(),-
'width':$(document).width()});
$('.overlay').show(
}
-
-
-
-
-
Funktion showLoading() {
-
-
showOverlay();
-
-
$("#loadingTip").css('top',
-
(getWindowInnerHeight() - $("#loadingTip").height()) / 2 'px');
-
$("#loadingTip").css('left',
-
(getWindowInnerWidth() - $("#loadingTip").width()) / 2 'px');
-
$(-
"#loadingTip").show();
$(document).scroll(-
function() {
-
return false;
});
-
}
-
/**-
* Ladeaufforderung ausblenden
-
*/
-
Funktion-
hideLoading() {
$(
'.overlay'-
).hide(
$(
"#loadingTip"-
).hide(
$(document).scroll(
function-
() {
zurück-
wahr;
});
}
-
-
-
-
-
-
Funktion showModal(innerHtml) {
-
-
var dialog = $('#modalDiv');
-
-
-
dialog.html(innerHtml);
-
-
-
dialog.css({
-
'top' : (getWindowInnerHeight() - dialog.height()) / 2 'px' ,
-
'left' : (getWindowInnerWidth() - dialog.width()) / 2 'px'
-
});
-
-
-
Dialog.find('.modal-container').css('border-radius', '6px');
-
-
-
dialog.find('.btn-close').click(function(){
-
closeModal();
-
});
-
-
-
showOverlay();
-
-
-
dialog.show();
-
}
-
-
-
-
-
Funktion closeModal() {
-
$('.overlay').hide(
-
$('#modalDiv').hide();
-
$('#modalDiv').html('');
-
}
body.html
XML/HTML-CodeInhalt in die Zwischenablage kopieren
-
>
-
<html lang="zh- CN">
-
<Kopf>
-
<meta charset="utf- 8">
-
<meta http-equiv=" X-UA-kompatibel" Inhalt="IE=edge">
-
<title>body 页面Titel>
-
<Stil Typ="text/ css">
-
* {
-
Rand: 0;
-
padding: 0;
-
}
-
-
html, body {
-
Breite: 100 %;
-
Höhe: 100 %;
-
}
-
-
.outer {
-
Breite: 200px;
-
Höhe: 120px;
-
Position: relativ;
-
oben: 50 %;
-
links: 50 %;
-
}
-
-
.inner {
-
Breite: 200px;
-
Höhe: 120px;
-
Position: relativ;
-
oben: -50 %;
-
links: -50 %;
-
}
-
-
.button {
-
Breite: 200px;
-
Höhe: 40px;
-
Position: relativ;
-
}
-
-
.button#btnShowLoading {
-
oben: 0;
-
}
-
-
.button#btnShowModal {
-
oben: 30 %;
-
}
-
-
Stil>
-
<Skript Typ="text/ Javascript">
-
-
Funktion showOverlay() {
-
// Rufen Sie das übergeordnete Fenster auf, um die Maskenebene und die Ladeaufforderungen anzuzeigen
-
window.top.window.showLoading();
-
-
// Verwenden Sie einen Timer, um das Schließen der Ladeaufforderung zu simulieren
-
setTimeout(function() {
-
window.top.window.hideLoading();
-
}, 3000);
-
-
}
-
-
Funktion showModal() {
-
// Rufen Sie die übergeordnete Fenstermethode auf, um ein modales Popup-Fenster zu simulieren
-
window.top.showModal($('#modalContent').html());
-
}
-
-
Skript>
-
Kopf>
-
<Körper>
-
<div class='outer' >
-
<div class='inner' >
-
<Schaltfläche id='btnShowLoading' class='button' onclick='showOverlay();'>Klicken Sie, um die Maskenebene einzublendenSchaltfläche>
-
<Schaltfläche id='btnShowModal' class='button' onclick='showModal();'>Klicken Sie, um das modale Fenster zu öffnenSchaltfläche>
-
div>
-
div>
-
-
-
<div id='modalContent' Stil='display: none;'>
-
<div class='modal- Container' style='width: 100%;height: 100%;background-color: white;'>
-
<div style='width: 100%;Höhe: 49px;Position: relativ;links: 50%;oben: 50%;'>
-
Größe: 36px; Breite: 100 %; text-align:center; display: inline-block; Position: erben; left: -50%;top: -50%;'>模态窗口1span >
div>
-
<Schaltfläche Klasse
=- 'btn- close' style='width: 100px; Höhe: 30px; Position: absolut; rechts: 30px; unten: 20px;'>关闭Schaltfläche>
div>
-
div>
-
<script type
=- 'text/ javascript' src="js/jquery-1.10.2.js"> Skript>
Körper>
-
html>
-
运行结果:
初始化-
显示遮罩层和Laden提示
显示遮罩层和模拟弹出模态窗口
以上就是本文的全部内容,希望对大家的学习有所帮助.
原文:
http://www.cnblogs.com/haoqipeng/p/html-overlay.html