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

相容於主流瀏覽器的jQuery CSS 實作遮罩層的簡單程式碼_jquery

WBOY
發布: 2016-05-16 16:34:18
原創
1216 人瀏覽過

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

預覽網址:

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();
    });
});


至此功能完成。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板