html遮罩实现demo

 遮罩的简单实现

      遮罩在网页应用中是很常见的一种功能,很多刚接触的朋友都不知道怎么实现:这里给出一个简单的demo,希望可以帮助到大家。

 

     源代码:下载1   下载2

     实现思路:就是在页面放置一个z-index很高的div。(div中不要放置任何东西),通过js,来动态的设置div的高度和宽度。然后再通过css给div设置背景色,透明度等;下面是关键代码:

    在页面加入:

<div id="overlay"></div>

 

     css代码:

/* 半透明的遮罩层 */
#overlay {
	background: #000;
	filter: alpha(opacity=50); /* IE的透明度 */
	opacity: 0.5;  /* 透明度 */
	display: none;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 100; /* 此处的图层要大于页面 */
	display:none;
}

 js代码(基于jquery):

//点击按钮弹出遮罩
$(function(){
	$("#btn1").click(function(){
		showOverlay();
	});
	 /* 显示遮罩层 */
	function showOverlay() {
		$("#overlay").height(pageHeight());
		$("#overlay").width(pageWidth());
		// fadeTo第一个参数为速度,第二个为透明度
		// 多重方式控制透明度,保证兼容性,但也带来修改麻烦的问题
		$("#overlay").fadeTo(200, 0.5);
	}

	/* 隐藏覆盖层 */
	function hideOverlay() {
		$("#overlay").fadeOut(200);
	}
	/* 当前页面高度 */
	function bodyHeight() {
		return document.body.scrollHeight;
	}
	/* 当前页面宽度 */
	function bodyWidth() {
		return document.body.scrollWidth;
	}
	/* 当前浏览器的宽度*/
	function pageHeight() {
		return window.screen.availHeight;
	}
	/* 当前浏览器的宽度*/
	function pageWidth() {
		return window.screen.availWidth;
	}
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
//1層遮罩整個IFrame function hideIframe1() { hideIframe(0); } //2層遮罩整個IFrame function hideIframe2() { hideIframe(1); } //3層遮罩整個IFrame function hideIframe3() { hideIframe(2); } //遮罩整個IFrame function hideIframe(level) { var div = document.createElement("div"); var iframe=document.createElement("iframe"); var img=document.createElement("img"); div.id = "InnerDiv"; div.style.width=document.documentElement.scrollWidth +"px" div.style.height=document.documentElement.scrollHeight +"px" div.style.margin="0px"; div.style.padding="0px"; div.style.zIndex="19999"; div.style.position="absolute"; div.style.backgroundColor="black"; div.style.left="0px"; div.style.top="0px"; div.style.filter="alpha(opacity=80)"; div.style.opacity="0.8"; iframe.id = "LoadingIframe"; iframe.style.width="100%"; iframe.style.height="100%"; iframe.style.backgroundColor="black"; img.id = "LoadingImg"; img.style.width="219px"; img.style.height="66px"; img.style.marginTop="-33px"; img.style.marginLeft="-109.5px"; img.style.padding="0px"; img.style.zIndex="20000"; img.style.position="absolute"; img.style.left="50%"; img.style.top="50%"; var path = ""; for(var i=0;i<level;i++) { path += "../"; } img.src=path+"Images/Loading.gif"; div.appendChild(iframe); document.body.appendChild(div); document.body.appendChild(img); } //隱藏整個IFrame function showIframe() { if(document.getElementById("InnerDiv")!=null) { document.body.removeChild(document.getElementById("InnerDiv")); } if(document.getElementById("LoadingImg")!=null) { document.body.removeChild(document.getElementById("LoadingImg")); } } //遮罩整個IFrame function hideIframeNoImg(level) { var div = document.createElement("div"); var iframe=document.createElement("iframe"); div.id = "InnerDiv"; div.style.width=document.documentElement.scrollWidth +"px" div.style.height=document.documentElement.scrollHeight +"px" div.style.margin="0px"; div.style.padding="0px"; div.style.zIndex="19999"; div.style.position="absolute"; div.style.backgroundColor="black"; div.style.left="0px"; div.style.top="0px"; div.style.filter="alpha(opacity=80)"; div.style.opacity="0.8"; iframe.id = "LoadingIframe"; iframe.style.width="100%"; iframe.style.height="100%"; iframe.style.backgroundColor="black"; div.appendChild(iframe); document.body.appendChild(div); } //隱藏整個IFrame function showIframeNoImg() { if(document.getElementById("InnerDiv")!=null) { document.body.removeChild(document.getElementById("InnerDiv")); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值