遮罩層的實現(純js兼容版)


這個代碼是我以前測試時候的代碼了,主要用到的知識點是opacity和filer分別實現
“標准瀏覽器”和IE瀏覽器下的半透明,使用js的document.body.offsetwidth
和screen.height來控制遮罩層的寬高,通過element.style.display屬性來控制
遮罩層顯示與否
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML遮罩層,背景半透明,只顯示中間部分</title>
<style>
#msgDiv {
    z-index:10001;
    width:500px;
    height:400px;
    background:white;
    border:#336699 1px solid;
    position:absolute;
    left:50%;
    top:20%;
    font-size:12px;
    margin-left:-225px;
    display: none;
}
#bgDiv {
    display: none;
    position: absolute;
    top: 0px;
    left: 0px;
    right:0px;
    background-color: #777;
    filter:progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75);
    opacity: 0.6;
}
</style>
<script type="text/javascript" language="javascript">
function showDetail(){//show detail
	//msgDiv
	var msgDiv = document.getElementById("msgDiv");
	msgDiv.style.marginTop = -75 + document.documentElement.scrollTop + "px";
	//bgDiv
	var bgDiv = document.getElementById("bgDiv");
	bgDiv.style.width = document.body.offsetwidth + "px";
	bgDiv.style.height = screen.height + "px";
	//msgShut
	var msgShut = document.getElementById("msgShut");
	msgShut.onclick = function(){
		bgDiv.style.display = msgDiv.style.display = "none";
	}
	//content
	msgDiv.style.display = bgDiv.style.display = "block";
	var msgDetail = document.getElementById("msgDetail");
	msgDetail.innerHTML = "<p style='line-height:50px;font-size:30px;text-align:center'>顯示框中的內容</p>";
}
</script>
</head>

<body>
<div id="msgDiv">
	<div id="msgShut">關閉</div>
    <div id="msgDetail"></div>
</div>
<div id="bgDiv"></div>
<p></p>
<p><a href="#" onClick="showDetail()">點擊我看看</a></p>
</body>
</html>

本文出自 WEB前端開發-SEO-SEM | 朱寶祥的博客,轉載時請注明出處及相應鏈接。

本文永久鏈接: http://qitiancom.com/archives/959


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM