Home >Web Front-end >JS Tutorial >Simple code to implement mask layer using jQuery CSS compatible with mainstream browsers_jquery

Simple code to implement mask layer using jQuery CSS compatible with mainstream browsers_jquery

WBOY
WBOYOriginal
2016-05-16 16:34:181226browse

Click "Register" on the page, and a layer of black mask with opacity will appear; above the mask layer is the registration box; at this time, other elements on the page except the registration box cannot be clicked; click "" on the registration box Just take a stroll" and the mask disappears.

Preview address:

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

Key Points:

1. The registration box is always centered horizontally and vertically, including when scrolling the page up and down with the mouse wheel, zooming the page, and resizing the browser window

Mainly controlled by CSS, the width and height of the registration box have been determined (620*420px). First use position:fixed to make it absolutely positioned relative to the browser window; then make it vertically centered: top:50%; left:50%; margin:-210px 0 0 -310px;

2. When zooming the page and resizing the browser window, the mask layer must always cover the entire document and fill the entire browser visible window as well as the parts that need to be scrolled to browse. It needs to be compatible with different kernel browsers such as Chrome and IE. device;

Two important properties: js’s window.screen.availHeight and jQuery’s $(document.body).outerHeight(true). window.screen.availHeight refers to the height of the available working area of ​​the screen, and $(document.body).outerHeight(true) refers to the total width of the document body of the current window of the browser, including border padding margin. window.screen.availHeight is mainly used for IE (11) to ensure that the mask layer can still fill the browser window after scaling the page.

3. When the mask layer appears, the page can still be scrolled up and down, but other elements on the page except the login box cannot be operated

Code:

HTML (need to test high enough documents):

Copy code The code is as follows:


   
   

   
   
   
       

           
                注册
           

       

        The Suicide.
        Meanwhile Monte Cristo had also returned to town with Emmanuel and Maximilian. Their return was cheerful. Emmanuel did not conceal his joy at the peaceful termination of the affair, and was loud in his expressions of delight. Morrel, in a corner of the carriage, allowed his brother-in-law's gayety to expend itself in words, while he felt equal inward joy, which, however, betrayed itself only in his countenance. At the Barriere du Trone they met Bertuccio, who was waiting there, motionless as a sentinel at his post. Monte Cristo put his head out of the window, exchanged a few words with him in a low tone, and the steward disappeared. "Count," said Emmanuel, when they were at the end of the Place Royale, "put me down at my door, that my wife may not have a single moment of needless anxiety on my account or yours."
        "If it were not ridiculous to make a display of our triumph, I would invite the count to our house; besides that, he doubtless has some trembling heart to comfort. So we will take leave of our friend, and let him hasten home."
        "Stop a moment," said Monte Cristo; "do not let me lose both my companions. Return, Emmanuel, to your charming wife, and present my best compliments to her; and do you, Morrel, accompany me to the Champs Elysees."
        "Willingly," said Maximilian; "particularly as I have business in that quarter."
        "Shall we wait breakfast for you?" asked Emmanuel.
        "No," replied the young man. The door was closed, and the carriage proceeded. "See what good fortune I brought you!" said Morrel, when he was alone with the count. "Have you not thought so?"
        "Yes," said Monte Cristo; "for that reason I wished to keep you near me."
        "It is miraculous!" continued Morrel, answering his own thoughts.
        "What?" said Monte Cristo.
        "What has just happened."
        "Yes," said the Count, "you are right -- it is miraculous."
        "For Albert is brave," resumed Morrel.
        "Very brave," said Monte Cristo; "I have seen him sleep with a sword suspended over his head."

        "She is going to leave her house," said the steward.
        "And her son?"
        "Florentin, his valet, thinks he is going to do the same."
        "Come this way." Monte Cristo took Bertuccio into his study, wrote the letter we have seen, and gave it to the steward. "Go," said he quickly. "But first, let Haidee be informed that I have returned."
        "Here I am," said the young girl, who at the sound of the carriage had run down-stairs and whose face was radiant with joy at seeing the count return safely. Bertuccio left. Every transport of a daughter finding a father, all the delight of a mistress seeing an adored lover, were felt by Haidee during the first moments of this meeting, which she had so eagerly expected. Doubtless, although less evident, Monte Cristo's joy was not less intense. Joy to hearts which have suffered long is like the dew on the ground after a long drought; both the heart and the ground absorb that beneficent moisture falling on them, and nothing is outwardly apparent.
        Monte Cristo was beginning to think, what he had not for a long time dared to believe, that there were two Mercedes in the world, and he might yet be happy. His eye, elate with happiness, was reading eagerly the tearful gaze of Haidee, when suddenly the door opened. The count knit his brow. "M. de Morcerf!" said Baptistin, as if that name sufficed for his excuse. In fact, the count's face brightened.
        "Which," asked he, "the viscount or the count?"
        "The count."
        "Oh," exclaimed Haidee, "is it not yet over?"
        "I know not if it is finished, my beloved child," said Monte Cristo, taking the young girl's hands; "but I do know you have nothing more to fear."
        "But it is the wretched" --
        "That man cannot injure me, Haidee," said Monte Cristo; "it was his son alone that there was cause to fear."
        "And what I have suffered," said the young girl, "you shall never know, my lord." Monte Cristo smiled. "By my father's tomb," said he, extending his hand over the head of the young girl, "I swear to you, Haidee, that if any misfortune happens, it will not be to me."
        The door was wide open, a hackney-coach was standing in the middle of the yard -- a strange sight before so noble a mansion; the count looked at it with terror, but without daring to inquire its meaning, he rushed towards his apartment. Two persons were coming down the stairs; he had only time to creep into an alcove to avoid them. It was Mercedes leaning on her son's arm and leaving the house. They passed close by the unhappy being, who, concealed behind the damask curtain, almost felt Mercedes dress brush past him, and his son's warm breath, pronouncing these words, -- "Courage, mother! Come, this is no longer our home!" The words died away, the steps were lost in the distance. The general drew himself up, clinging to the curtain; he uttered the most dreadful sob which ever escaped from the bosom of a father abandoned at the same time by his wife and son. He soon heard the clatter of the iron step of the hackney-coach, then the coachman's voice, and then the rolling of the heavy vehicle shook the windows. He darted to his bedroom to see once more all he had loved in the world; but the hackney-coach drove on and the head of neither Mercedes nor her son appeared at the window to take a last look at the house or the deserted father and husband. And at the very moment when the wheels of that coach crossed the gateway a report was heard, and a thick smoke escaped through one of the panes of the window, which was broken by the explosion.
        The door was wide open, a hackney-coach was standing in the middle of the yard -- a strange sight before so noble a mansion; the count looked at it with terror, but without daring to inquire its meaning, he rushed towards his apartment. Two persons were coming down the stairs; he had only time to creep into an alcove to avoid them. It was Mercedes leaning on her son's arm and leaving the house. They passed close by the unhappy being, who, concealed behind the damask curtain, almost felt Mercedes dress brush past him, and his son's warm breath, pronouncing these words, -- "Courage, mother! Come, this is no longer our home!" The words died away, the steps were lost in the distance. The general drew himself up, clinging to the curtain; he uttered the most dreadful sob which ever escaped from the bosom of a father abandoned at the same time by his wife and son. He soon heard the clatter of the iron step of the hackney-coach, then the coachman's voice, and then the rolling of the heavy vehicle shook the windows. He darted to his bedroom to see once more all he had loved in the world; but the hackney-coach drove on and the head of neither Mercedes nor her son appeared at the window to take a last look at the house or the deserted father and husband. And at the very moment when the wheels of that coach crossed the gateway a report was heard, and a thick smoke escaped through one of the panes of the window, which was broken by the explosion.
   


HTML

CSS:

复制代码 代码如下:

a{ text-decoration:none; color:#fff;}
#rbox{

    width:620px;
    height:420px;
    position:fixed;
    top:50%;
    left:50%;
    margin:-210px 0 0 -310px;
    border-radius:8px; /*圆角*/
    background-color:#999;
    z-index:3;
    display:none;   
}

.go{

    position:absolute;
    right: 10px;
    top: 10px;
    padding: 5px 12px;
    background: rgba(0,0,0,.4);
    box-shadow: 0 0 0 2px rgba(255,255,255,.4);
    color: #fff;
    border-radius: 26px;
}

#mask{

    background-color:#000;
    position:absolute;
    top:0;
    left:0;
    display:none;
    z-index:2;
}

#register{ z-index:1; color:blue;}
.content{ width:800px; height:auto; margin:0 auto;}

JS:

复制代码 代码如下:

$(function(){
 
//Click to register
$("#register").click(function(){
 
If(window.screen.availHeight > $(document.body).outerHeight(true)){
                             
//When the height of the available working area of ​​the screen > the total height of the document body of the current window of the browser including border padding margin (when zooming)
               $("#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();                                                           });

//Adjust the width and height of the mask according to changes in the browser's visible window so that the mask fills the browser

$(window).resize(function(){                                
//Change the mask width and height according to changes in the browser window, so that the mask fills the entire browser
If($("#mask").css("width")!=0){

                                                                                                                                                                                                                                           $("#mask").css(""width",""100%"); //The width can also be judged if necessary
if(window.screen.availHeight > $(document.body).outerHeight(true)){

                                                                                       $("#mask").css({"opacity":"0.5","width":"100%","height":window.screen.availHeight});

               }else{

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

            }
}
});

$(".go").click(function(){
 
          $("#mask").hide();
          $("#rbox").hide();
});

});




This function is completed.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn