HTML完成遮罩層的方法 HTML中如何使用遮罩層
發(fā)表時(shí)間:2023-09-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]這篇文章主要為大家詳細(xì)介紹了HTML實(shí)現(xiàn)遮罩層的方法,Web頁(yè)面中使用遮罩層,可防止重復(fù)操作,那么如何在HTML中使用遮罩層?感興趣的小伙伴們可以參考一下Web頁(yè)面中使用遮罩層,可防止重復(fù)操作,提示loading;也可以模擬彈出模態(tài)窗口。實(shí)現(xiàn)思路:一個(gè)p作為遮罩層,一個(gè)p顯示loading動(dòng)態(tài)GI...
這篇文章主要為大家詳細(xì)介紹了HTML實(shí)現(xiàn)遮罩層的方法,Web頁(yè)面中使用遮罩層,可防止重復(fù)操作,那么如何在HTML中使用遮罩層?感興趣的小伙伴們可以參考一下
Web頁(yè)面中使用遮罩層,可防止重復(fù)操作,提示loading;也可以模擬彈出模態(tài)窗口。
實(shí)現(xiàn)思路:一個(gè)p作為遮罩層,一個(gè)p顯示loading動(dòng)態(tài)GIF圖片。在下面的示例代碼中,同時(shí)展示了如何在iframe子頁(yè)面中調(diào)用顯示和隱藏遮罩層。
示例代碼:
index.html
XML/HTML Code復(fù)制內(nèi)容到剪貼板
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Commpatible" content="IE=edge">
<title>HTML遮罩層</title>
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<p class="header" id="header">
<p class="title-outer">
<span class="title">
HTML遮罩層使用
</span>
</p>
</p>
<p class="body" id="body">
<iframe id="iframeRight" name="iframeRight" width="100%" height="100%"
scrolling="no" frameborder="0"
style="border: 0px;margin: 0px; padding: 0px; width: 100%; height: 100%;overflow: hidden;"
onload="rightIFrameLoad(this)" src="body.html"></iframe>
</p>
<!-- 遮罩層p -->
<p id="overlay" class="overlay"></p>
<!-- Loading提示 p -->
<p id="loadingTip" class="loading-tip">
<img src="images/loading.gif" />
</p>
<!-- 模擬模態(tài)窗口p -->
<p class="modal" id="modalp"></p>
<script type='text/javascript' src="js/jquery-1.10.2.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>
index.css
CSS Code復(fù)制內(nèi)容到剪貼板
* {
margin: 0;
padding: 0;
}
html, body {
width: 100%;
height: 100%;
font-size: 14px;
}
p.header {
width: 100%;
height: 100px;
border-bottom: 1px dashed blue;
}
p.title-outer {
position: relative;
top: 50%;
height: 30px;
}
span.title {
text-align: left;
position: relative;
left: 3%;
top: -50%;
font-size: 22px;
}
p.body {
width: 100%;
}
.overlay {
position: absolute;
top: 0px;
left: 0px;
z-index: 10001;
display:none;
filter:alpha(opacity=60);
background-color: #777;
opacity: 0.5;
-moz-opacity: 0.5;
}
.loading-tip {
z-index: 10002;
position: fixed;
display:none;
}
.loading-tip img {
width:100px;
height:100px;
}
.modal {
position:absolute;
width: 600px;
height: 360px;
border: 1px solid rgba(0, 0, 0, 0.2);
box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.5);
display: none;
z-index: 10003;
border-radius: 6px;
}
index.js
JavaScript Code復(fù)制內(nèi)容到剪貼板
function rightIFrameLoad(iframe) {
var pHeight = getWindowInnerHeight() - $('#header').height() - 5;
$('p.body').height(pHeight);
console.log(pHeight);
}
// 瀏覽器兼容 取得瀏覽器可視區(qū)高度
function getWindowInnerHeight() {
var winHeight = window.innerHeight
(document.documentElement && document.documentElement.clientHeight)
(document.body && document.body.clientHeight);
return winHeight;
}
// 瀏覽器兼容 取得瀏覽器可視區(qū)寬度
function getWindowInnerWidth() {
var winWidth = window.innerWidth
(document.documentElement && document.documentElement.clientWidth)
(document.body && document.body.clientWidth);
return winWidth;
}
/**
* 顯示遮罩層
*/
function showOverlay() {
// 遮罩層寬高分別為頁(yè)面內(nèi)容的寬高
$('.overlay').css({'height':$(document).height(),'width':$(document).width()});
$('.overlay').show();
}
/**
* 顯示Loading提示
*/
function showLoading() {
// 先顯示遮罩層
showOverlay();
// Loading提示窗口居中
$("#loadingTip").css('top',
(getWindowInnerHeight() - $("#loadingTip").height()) / 2 + 'px');
$("#loadingTip").css('left',
(getWindowInnerWidth() - $("#loadingTip").width()) / 2 + 'px');
$("#loadingTip").show();
$(document).scroll(function() {
return false;
});
}
/**
* 隱藏Loading提示
*/
function hideLoading() {
$('.overlay').hide();
$("#loadingTip").hide();
$(document).scroll(function() {
return true;
});
}
/**
* 模擬彈出模態(tài)窗口p
* @param innerHtml 模態(tài)窗口HTML內(nèi)容
*/
function showModal(innerHtml) {
// 取得顯示模擬模態(tài)窗口用p
var dialog = $('#modalp');
// 設(shè)置內(nèi)容
dialog.html(innerHtml);
// 模態(tài)窗口p窗口居中
dialog.css({
'top' : (getWindowInnerHeight() - dialog.height()) / 2 + 'px',
'left' : (getWindowInnerWidth() - dialog.width()) / 2 + 'px'
});
// 窗口p圓角
dialog.find('.modal-container').css('border-radius','6px');
// 模態(tài)窗口關(guān)閉按鈕事件
dialog.find('.btn-close').click(function(){
closeModal();
});
// 顯示遮罩層
showOverlay();
// 顯示遮罩層
dialog.show();
}
/**
* 模擬關(guān)閉模態(tài)窗口p
*/
function closeModal() {
$('.overlay').hide();
$('#modalp').hide();
$('#modalp').html('');
}
body.html
XML/HTML Code復(fù)制內(nèi)容到剪貼板
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Commpatible" content="IE=edge">
<title>body 頁(yè)面</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
html, body {
width: 100%;
height: 100%;
}
.outer {
width: 200px;
height: 120px;
position: relative;
top: 50%;
left: 50%;
}
.inner {
width: 200px;
height: 120px;
position: relative;
top: -50%;
left: -50%;
}
.button {
width: 200px;
height: 40px;
position: relative;
}
.button#btnShowLoading {
top: 0;
}
.button#btnShowModal {
top: 30%;
}
</style>
<script type="text/javascript">
function showOverlay() {
// 調(diào)用父窗口顯示遮罩層和Loading提示
window.top.window.showLoading();
// 使用定時(shí)器模擬關(guān)閉Loading提示
setTimeout(function() {
window.top.window.hideLoading();
}, 3000);
}
function showModal() {
// 調(diào)用父窗口方法模擬彈出模態(tài)窗口
window.top.showModal($('#modalContent').html());
}
</script>
</head>
<body>
<p class='outer'>
<p class='inner'>
<button id='btnShowLoading' class='button' onclick='showOverlay();'>點(diǎn)擊彈出遮罩層</button>
<button id='btnShowModal' class='button' onclick='showModal();'>點(diǎn)擊彈出模態(tài)窗口</button>
</p>
</p>
<!-- 模態(tài)窗口內(nèi)容p,將本頁(yè)面p內(nèi)容設(shè)置到父窗口p上并模態(tài)顯示 -->
<p id='modalContent' style='display: none;'>
<p class='modal-container' style='width: 100%;height: 100%;background-color: white;'>
<p style='width: 100%;height: 49px;position: relative;left: 50%;top: 50%;'>
<span style='font-size: 36px; width: 100%; text-align:center; display: inline-block; position:inherit; left: -50%;top: -50%;'>模態(tài)窗口1</span>
</p>
<button class='btn-close' style='width: 100px; height: 30px; position: absolute; right: 30px; bottom: 20px;'>關(guān)閉</button>
</p>
</p>
<script type='text/javascript' src="js/jquery-1.10.2.js"></script>
</body>
</html>
運(yùn)行結(jié)果:
初始化
顯示遮罩層和Loading提示
顯示遮罩層和模擬彈出模態(tài)窗口
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)推薦:
HTML中使背景圖片自適應(yīng)瀏覽器大小
以上就是HTML實(shí)現(xiàn)遮罩層的方法 HTML中如何使用遮罩層的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語(yǔ),涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。