天天看點

css+js+html遮罩層執行個體,javascript實作遮罩層動态效果執行個體

大家在網頁上注冊登入的時候,經常會看見彈出的遮罩層。

我這裡實作的效果是:點選按鈕彈出遮罩層,遮罩層下的内容不可選,并且登入框随着滑鼠滾輪的下滑,動态的浮動到頁面某個位置,點選關閉按鈕關閉遮罩層。

這是滑鼠滾動下滑到頁面中間某部分時畫面。雖然界面簡單顔色随意,能看出效果才是最重要的哈哈哈哈。

css+js+html遮罩層執行個體,javascript實作遮罩層動态效果執行個體

以下是html界面:

登入 關閉

樣式表:

*{padding:0px;margin:0px;}

.main{

width:100%;

height:3000px;

}

#shade{

position:absolute;//絕對定位在頁面左上角

top:0px;

left:0px;

z-index:1000;

display:none;

width:100%;

height:100%;

background:yellow;

opacity:0.3;

}

#loginBox{

position:absolute;

top:260px;

left:30%;

z-index:2000;

display:none;

width:400px;

height:200px;

background:red;

border:1px solid red;

}

js代碼部分:

window.οnlοad=function(){

window.οnscrοll=function(){

//動态設定遮罩層的寬高與螢幕可見寬高一緻,實作被遮罩頁面的全覆寫

document.getElementById("shade").style.width=document.body.clientWidth+"px";

document.getElementById("shade").style.height=document.body.clientHeight+"px";

//相容谷歌 和 ie/firefox不同浏覽器,擷取滾動條到浏覽器頂部的位置

var h=document.body.scrollTop + document.documentElement.scrollTop;

//用定時器實作下滑頁面時,登入框延遲從頂部下滑到指定位置

setTimeout(function(){

//設定登入框始終在界面距離頂部260px的位置,因為style.top擷取的值是數值,不帶機關,是以在表達式最後人為添加機關

document.getElementById("loginBox").style.top=260 + h +"px";

},200);

}

}

//遮罩層與登入框彈出事件

function show(){

document.getElementById("shade").style.display = "block";

document.getElementById("loginBox").style.display = "block";

}

//遮罩層與登入框隐藏事件

function close(){

document.getElementById("shade").style.display = "none";

document.getElementById("loginBox").style.display = "none";

}

以上就是啦~

以上所述是小編給大家介紹的javascript實作遮罩層動态效果詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對腳本之家網站的支援!