搜尋
首頁web前端js教程相容於主流瀏覽器的jQuery CSS 實作遮罩層的簡單程式碼_jquery

在頁麵點擊"註冊",出現一層有不透明度的黑色遮罩;遮罩層的上方是註冊框;此時無法點擊頁面上除註冊框外的其他元素;點擊註冊框上的"隨便逛逛",遮罩層消失。

預覽網址:

http://jsfiddle.net/p2x3c7df/embedded/result/

重點:

1.註冊框始終水平、垂直居中,包括滑鼠滾輪上下滾動頁面、縮放頁面和調整瀏覽器視窗大小時

主要由CSS控制,註冊框的寬度和高度都已經確定( 620*420px ),首先使用position:fixed來使它相對於瀏覽器視窗絕對定位;然後使它垂直居中:top:50%; left:50%; margin:-210px 0 0 -310px;

2.當縮放頁面和調整瀏覽器視窗大小時,遮罩層需始終覆蓋整個文檔和充滿整個瀏覽器可視窗口以及需要滾動才能瀏覽到的部分,需要兼容Chrome和IE等不同內核瀏覽器;

兩個重要的屬性:js的window.screen.availHeight和jQuery的$(document.body).outerHeight(true)。 window.screen.availHeight指螢幕可用工作區域的高,$(document.body).outerHeight(true)指瀏覽器目前視窗文件body的總寬度 包括border padding margin。 window.screen.availHeight主要用於IE(11)縮放頁面後,遮罩層仍能充滿瀏覽器視窗。

3.當遮罩層出現時,頁面仍可以上下捲動,但無法操作頁面中除登陸框外的其他元素

代碼:

 HTML( 需測試足夠高的文件 ):

複製程式碼 程式碼如下:


   
   

   
   
   
       

           
                注册
           

       

        自殺。
        同時,基督山也帶著伊曼紐爾和馬克西米利安回到了小鎮。他們的歸來是高高興興的。伊曼紐爾毫不掩飾他對此事和平結束的喜悅,並大聲表達了喜悅之情。莫雷爾坐在馬車的一個角落裡,讓他姐夫的歡樂在言語中盡情表達,同時他內心也感到同樣的喜悅,然而,這種喜悅只是在他的臉上流露出來。在Barriere du Trone,他們遇到了貝爾圖喬,他正在那裡等著,一動也不動,就像哨兵一樣堅守在自己的崗位上。基督山把頭伸出窗外,低聲和他說了幾句話,管家就消失了。 「伯爵,」當他們走到皇家廣場的盡頭時,伊曼紐爾說道,「把我放在門口,這樣我的妻子就不會因為我或你的緣故而有任何不必要的焦慮。」
「如果炫耀我們的勝利不是可笑的話,我會邀請伯爵到我們家來;除此之外,他無疑還有一些顫抖的心需要安慰。所以我們會告別我們的朋友,讓他趕緊回家。 ”
        「停一下,」基督山說。 「別讓我失去我的兩個同伴。伊曼紐爾,回到你迷人的妻子身邊,向她致以最誠摯的致意;莫雷爾,你陪我去香榭麗舍大街吧。」
        「願意,」馬克西米利安說。 「特別是因為我在那個季度有業務。」
        「我們等你吃早餐吧?」伊曼紐爾問。
        「不,」年輕人回答。車門關上,馬車繼續前進。 「看我為你帶來了多大的福氣!」當莫雷爾單獨和伯爵在一起時,他說。 “你不這麼認為嗎?”
        「是的,」基督山說。 「因此,我想讓你留在我身邊。」
        「太神奇了!」莫雷爾繼續說道,回答了他自己的想法。
        「什麼?」基督山說。
        「剛剛發生了什麼事。」
        「是的,」伯爵說,「你說得對-這真是奇蹟。」
        「因為艾伯特很勇敢,」莫雷爾繼續說道。
        「非常勇敢,」基督山說。 「我看過他睡覺時頭上懸掛著一把劍。」

        「她要離開她的房子,」管家說。
        「那她兒子呢?」
        「他的貼身男僕弗洛倫丁認為他也會這麼做。」
        「這邊過來。」基督山把貝爾圖喬帶進書房,寫下了我們看到的信,交給了管家。 「走吧,」他很快地說。 「但首先,讓海黛知道我回來了。」
        「我在這裡,」年輕的女孩說,聽到馬車的聲音,她已經跑下樓了,看到伯爵平安回來,她的臉上洋溢著喜悅的光芒。貝爾圖喬離開了。海黛在這次見面的最初時刻感受到了女兒找到父親的每一種興奮,以及情婦見到心愛的情人的所有喜悅,她對此充滿了熱切的期待。毫無疑問,基督山的喜悅雖然不那麼明顯,但也同樣強烈。久受苦難之心的喜樂,有如久旱之後地上的露珠;心和地都吸收了落在它們身上的有益濕氣,沒有什麼是表面可見的。
        基督山開始想,世界上有兩輛賓士,他或許會幸福,這一點他長期以來一直不敢相信。他的眼睛充滿了幸福,熱切地看著海黛淚流滿面的目光,突然門開了。伯爵皺起了眉頭。 「馬爾塞夫先生!」巴蒂斯汀說道,彷彿這個名字就足以作為他的藉口了。事實上,伯爵的臉色變得明亮起來。
        「哪個,」他問道,「子爵還是伯爵?」
        「伯爵。」
        「哦,」海黛驚呼道,「還沒結束嗎?」
        「我不知道它是否完成了,我心愛的孩子,」基督山拉著小女孩的手說道。 「但我知道你沒有什麼好害怕的。」
        「但那是可憐人」-
        「那個人不能傷害我,海黛,」基督山說。 「只有他的兒子有理由害怕。」
        「而我所遭受的痛苦,」年輕女孩說道,「您永遠不會知道,大人。」基督山微笑著。 「以我父親的墳墓為證,」他把手伸到了年輕女孩的頭上,「我向你發誓,海黛,如果發生任何不幸,也不會降臨在我身上。」
門大開著,一輛出租馬車停在院子中央——在如此高貴的宅邸面前,這是一個奇怪的景象;伯爵驚恐地看著它,但不敢詢問它的含義,他沖向自己的公寓。兩個人正從樓梯上走下來。他只有時間爬進一個凹室來躲避他們。梅塞德斯攙著兒子的手臂走出了家門。他們從那個不幸的人身邊走過,他躲在錦緞窗簾後面,幾乎感覺到梅賽德斯的裙子從他身邊擦過,還有他兒子溫暖的呼吸,念出這些話:「勇敢,媽媽!來吧,這裡不再是我們的家! 」話語漸漸消失,腳步聲消失在遠方。將軍挺直身子,緊緊抓住窗簾。他發出了從同時被妻子和兒子拋棄的父親懷裡發出的最可怕的抽泣聲。很快地他就聽到了出租馬車鐵踏板的嘎嘎聲,然後是車夫的聲音,然後是重型車輛的滾動震動了車窗。他衝進自己的臥室,再次看看這個世界上他所愛的一切。但出租馬車繼續前行,梅賽德斯和她兒子的頭都沒有出現在車窗上最後看一眼房子或被遺棄的父親和丈夫。就在馬車的車輪駛過大門的那一刻,聽到了一聲報告,一股濃煙從被爆炸打破的窗戶玻璃中逸出。
門大開著,一輛出租馬車停在院子中央——在如此高貴的宅邸面前,這是一個奇怪的景象;伯爵驚恐地看著它,但不敢詢問它的含義,他沖向自己的公寓。兩個人正從樓梯上走下來。他只有時間爬進一個凹室來躲避他們。梅塞德斯攙著兒子的手臂走出了家門。他們從那個不幸的人身邊走過,他躲在錦緞窗簾後面,幾乎感覺到梅賽德斯的裙子從他身邊擦過,還有他兒子溫暖的呼吸,念出這些話:「勇敢,媽媽!來吧,這裡不再是我們的家! 」話語漸漸消失,腳步聲消失在遠方。將軍挺直身子,緊緊抓住窗簾。他發出了從同時被妻子和兒子拋棄的父親懷裡發出的最可怕的抽泣聲。很快地他就聽到了出租馬車鐵踏板的嘎嘎聲,然後是車夫的聲音,然後是重型車輛的滾動震動了車窗。他衝進自己的臥室,再次看看這個世界上他所愛的一切。但出租馬車繼續前行,梅賽德斯和她兒子的頭都沒有出現在車窗上最後看一眼房子或被遺棄的父親和丈夫。就在馬車的車輪駛過大門的那一刻,聽到了一聲報告,一股濃煙從被爆炸打破的窗戶玻璃中逸出。
   


HTML

CSS:

複製程式碼程式碼如下:

a{ 文字裝飾:無;顏色:#fff;}
#rbox{

    寬度:620px;
    高度:420px;
    位置:固定;
    上方:50%;
    左:50%;
    邊距:-210px 0 0 -310px;
    邊框半徑:8px; /*圓角*/
    背景顏色:#999;
    z 索引:3;
    顯示:無;   
}

.go{

    地點:絕對;
    右:10px;
    上方:10px;
    內邊距:5px 12px;
    背景:rgba(0,0,0,.4);
    盒子陰影:0 0 0 2px rgba(255,255,255,.4);
    顏色:#fff;
    邊框半徑:26px;
}

#mask{

    背景顏色:#000;
    位置:絕對;
    上方:0;
    左:0;
    顯示:無;
    z 索引:2;
}

#register{ z-index:1;顏色:藍色;}
.內容{寬度:800px;高度:自動;邊距:0 自動;}

JS:

複製程式碼程式碼如下:

$(function(){
   
    //點選註冊
    $("#register").click(function(){
   
        if(window.screen.availHeight > $(document.body).outerHeight(true)){
       
            //當螢幕可用工作區域的高度 > 瀏覽器目前視窗文件body的總高度 包含border padding margin( 縮放時 )
            $("#mask").show().css({"opacity":"0.5","width":"100%","height":window.screen.availHeight});
        }else{
       
$("#mask").show().css({"opacity":"0.5","width":"100%","height":$(document.body).outerHeight(true)});
        }           
        $("#rbox").show();       
    });   


    //根據瀏覽器視覺視窗的變化調整遮罩的寬度和高度,使遮罩充滿瀏覽器
    $(window).resize(function(){           

        //根據瀏覽器視窗變化改變遮罩寬度和高度,使遮罩充滿整個瀏覽器   
        if($("#mask").css("width")!=0){

            $("#mask").css("width","100%"); //必要時可對寬度也作出判斷      

            if(window.screen.availHeight > $(document.body).outerHeight(true)){
           
                $("#mask").css({"opacity":"0.5","width":"100%","height":window.screen.availHeight});            
                $("#mask").css({"opacity":"0.5","width":"100%","height":$(document.body).outerHeight().             }
        }
    });

    $(".go").click(function(){

   

        $("#mask").hide();
        $("#rbox").hide();
    });
});


至此功能完成。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript數據類型:瀏覽器和nodejs之間是否有區別?JavaScript數據類型:瀏覽器和nodejs之間是否有區別?May 14, 2025 am 12:15 AM

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。