HTML實現(xiàn)遮罩層的方法 HTML中如何使用遮罩層
來源:易賢網(wǎng) 閱讀:3557 次 日期:2016-07-04 13:53:03
溫馨提示:易賢網(wǎng)小編為您整理了“HTML實現(xiàn)遮罩層的方法 HTML中如何使用遮罩層”,方便廣大網(wǎng)友查閱!

這篇文章主要為大家詳細(xì)介紹了HTML實現(xiàn)遮罩層的方法,Web頁面中使用遮罩層,可防止重復(fù)操作,那么如何在HTML中使用遮罩層?感興趣的小伙伴們可以參考一下

Web頁面中使用遮罩層,可防止重復(fù)操作,提示loading;也可以模擬彈出模態(tài)窗口。

實現(xiàn)思路:一個DIV作為遮罩層,一個DIV顯示loading動態(tài)GIF圖片。在下面的示例代碼中,同時展示了如何在iframe子頁面中調(diào)用顯示和隱藏遮罩層。

示例代碼:

index.html

XML/HTML Code

代碼如下:

<!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>  

    <div class="header" id="header">  

        <div class="title-outer">  

            <span class="title">  

                HTML遮罩層使用   

            </span>  

        </div>  

    </div>  

    <div 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>  

    </div>  

    <!-- 遮罩層DIV -->  

    <div id="overlay" class="overlay"></div>  

    <!-- Loading提示 DIV -->  

    <div id="loadingTip" class="loading-tip">  

        <img src="images/loading.gif" />  

    </div>  

    <!-- 模擬模態(tài)窗口DIV -->  

    <div class="modal" id="modalDiv"></div>  

    <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

代碼如下:

* {   

    margin: 0;   

    padding: 0;   

}   

html, body {   

    width: 100%;   

    height: 100%;   

    font-size: 14px;   

}   

div.header {   

    width: 100%;   

    height: 100px;   

    border-bottom: 1px dashed blue;   

}   

div.title-outer {   

    position: relative;   

    top: 50%;   

    height: 30px;   

}   

span.title {   

    text-align: left;   

    position: relative;   

    left: 3%;   

    top: -50%;   

    font-size: 22px;   

}   

div.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

代碼如下:

function rightIFrameLoad(iframe) {   

    var pHeight = getWindowInnerHeight() - $('#header').height() - 5;   

    $('div.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() {   

    // 遮罩層寬高分別為頁面內(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)窗口DIV  

 * @param innerHtml 模態(tài)窗口HTML內(nèi)容  

 */  

function showModal(innerHtml) {   

    // 取得顯示模擬模態(tài)窗口用DIV   

    var dialog = $('#modalDiv');   

    // 設(shè)置內(nèi)容   

    dialog.html(innerHtml);   

    // 模態(tài)窗口DIV窗口居中   

    dialog.css({   

        'top' : (getWindowInnerHeight() - dialog.height()) / 2 + 'px',   

        'left' : (getWindowInnerWidth() - dialog.width()) / 2 + 'px'  

    });   

    // 窗口DIV圓角   

    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)窗口DIV  

 */  

function closeModal() {   

    $('.overlay').hide();   

    $('#modalDiv').hide();   

    $('#modalDiv').html('');   

}   

body.html

XML/HTML Code

代碼如下:

<!DOCTYPE html>  

<html lang="zh-CN">  

<head>  

<meta charset="utf-8">  

<meta http-equiv="X-UA-Commpatible" content="IE=edge">  

<title>body 頁面</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();   

        // 使用定時器模擬關(guān)閉Loading提示   

        setTimeout(function() {   

            window.top.window.hideLoading();   

        }, 3000);   

    }   

    function showModal() {   

        // 調(diào)用父窗口方法模擬彈出模態(tài)窗口   

        window.top.showModal($('#modalContent').html());   

    }   

</script>  

</head>  

<body>  

    <div class='outer'>  

        <div class='inner'>  

            <button id='btnShowLoading' class='button' onclick='showOverlay();'>點擊彈出遮罩層</button>  

            <button id='btnShowModal' class='button' onclick='showModal();'>點擊彈出模態(tài)窗口</button>  

        </div>  

    </div>  

    <!-- 模態(tài)窗口內(nèi)容DIV,將本頁面DIV內(nèi)容設(shè)置到父窗口DIV上并模態(tài)顯示 -->  

    <div id='modalContent' style='display: none;'>  

        <div class='modal-container' style='width: 100%;height: 100%;background-color: white;'>  

            <div 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>  

            </div>  

            <button class='btn-close' style='width: 100px; height: 30px; position: absolute; right: 30px; bottom: 20px;'>關(guān)閉</button>  

        </div>  

    </div>  

    <script type='text/javascript' src="js/jquery-1.10.2.js"></script>  

</body>  

</html>  

更多信息請查看網(wǎng)頁制作
易賢網(wǎng)手機網(wǎng)站地址:HTML實現(xiàn)遮罩層的方法 HTML中如何使用遮罩層
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)