明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

HTML完成遮罩層的方法 HTML中如何使用遮罩層

[摘要]這篇文章主要為大家詳細(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é)果:

初始化

HTML實(shí)現(xiàn)遮罩層的方法 HTML中如何使用遮罩層

顯示遮罩層和Loading提示

HTML實(shí)現(xiàn)遮罩層的方法 HTML中如何使用遮罩層

顯示遮罩層和模擬彈出模態(tài)窗口

HTML實(shí)現(xiàn)遮罩層的方法 HTML中如何使用遮罩層

以上就是本文的全部?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)站。