`

弹出层,背景半透明隐藏

阅读更多

弹出一个层,然后用一个半透明的层覆盖背景。

代码没有整理,只是贴出代码中的部分,经供参考

 

html,

<style type="text/css">
.show_talk_ajax *{margin:0;padding:0;} 
.show_talk_ajax{width:500px;height:330px;display:none;padding:1px;position:absolute;border:1px solid #4c77aa;background:#f2f7fd;z-index:11;zoom:1;}
.show_talk_ajax h3{background:#4c77aa;color:#fff;padding:0px 0px 0px 5px;cursor:move; }
.show_talk_ajax span{position:absolute;right:3px;top:10px;display:block;cursor:pointer;color:#fff;font-weight:bold;}
</style>

<div id="show" class="show_talk_ajax">
    <h3 id="titlebar">詳細信息</h3>
    <div id="htmC" style="padding:5px">
    </div>
</div>
<div id="coverdiv" style="display:none"></div>

<a href="#" onclick="showTest('show',00,'coverdiv');return false" >点击</a>
 

 

js代码,

// JavaScript Document
//弹出层,让父框变暗
//_idToShow : 填充内容div的id
//talk_id : 数据id号
//cover_id : 遮盖层div的id
function showTest( _idToShow , talk_id , cover_id ){
	//先清空原内容
	document.getElementById("htmC").innerHTML = ""; //'htmC'是内容显示div的id号
	//处理,层的问题
    var iWidth = document.documentElement.clientWidth;
	var iHeight = document.documentElement.clientHeight;
	//覆盖层
	var coverdiv = document.getElementById(cover_id);
	var isIE = (document.all) ? true : false;
	var isIE6 = isIE && ([/MSIE (\d)\.0/i.exec(navigator.userAgent)][0][1] == 6);
	//IE6要通过window.attachEvent事件,来改变div大小。
	function _resize(){
		coverdiv.style.position = "absolute";
		coverdiv.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px";
		coverdiv.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px";
	}
	if( isIE6){
		var selectlist = document.getElementsByTagName("select");
		var  len = selectlist.length ;
		for( var k =0 ; k < len ; k ++){
			selectlist[k].style.visibility = "hidden";
		}
		window.attachEvent("onresize",_resize);
	}
	with(coverdiv.style){ 
		backgroundColor = "#000"; background ="#000";display = "block"; zIndex = 10; left = top = 0; position = "fixed"; width = height = "100%"; 
		isIE ? filter = "alpha(opacity:" + 30 + ")" : opacity = 30 / 100;
	}
	//弹出层
	var oShow = document.getElementById(_idToShow);
		oShow.style.display = 'block';
        oShow.style.left = (iWidth-oShow.offsetWidth)/2+"px";
		oShow.style.top = document.documentElement.scrollTop + (iHeight -oShow.offsetHeight)/2+"px";
	var oClosebtn = document.createElement("span");
		oClosebtn.innerHTML = "×";
		oShow.appendChild(oClosebtn);
	//关闭方法
	function oClose(){
		oShow.style.display = 'none';
		with(coverdiv.style){display = "none";}
		oShow.removeChild(oClosebtn);
		if(isIE6){
			var selectlist = document.getElementsByTagName("select");
			for( var k =0 , len = selectlist.length ; k < len ; k ++){
				selectlist[k].style.visibility = "visible";
			}
		window.detachEvent("onresize",_resize);
		}
	}
	oClosebtn.onclick = oClose;
	coverdiv.onclick = oClose;
	//ESC键退出
    function getEvent(){
	    return window.event || arguments.callee.caller.arguments[0];
    }
	document.onkeyup = function(){
		var event = getEvent();
		if (event.keyCode == 27){
			oClose();
		}
	}
	//弹出层移动
	var moveX = 0;
	var moveY = 0;
	var moveTop = 0;
	var moveLeft = 0;
	var moveable = false;
	var docMouseMoveEvent = document.onmousemove;
	var docMouseUpEvent = document.onmouseup;
	titleBar =  document.getElementById('titlebar');
	titleBar.onmousedown = function() {
		var evt = getEvent();
		moveable = true;
		moveX = evt.clientX;
		moveY = evt.clientY;
		moveTop = parseInt(oShow.style.top);
		moveLeft = parseInt(oShow.style.left);
		document.onmousemove = function() {
			if (moveable) {
				var evt = getEvent();
				var x = moveLeft + evt.clientX - moveX;
				var y = moveTop + evt.clientY - moveY;
				if ( x > 0 &&( x + oShow.offsetWidth < iWidth) && y > 0 && (y + oShow.offsetHeight < iHeight + document.documentElement.scrollTop ) ) {
					oShow.style.left = x + "px";
					oShow.style.top = y + "px";
				}
			}
		};
		document.onmouseup = function () {
			if (moveable) {
				document.onmousemove = docMouseMoveEvent;
				document.onmouseup = docMouseUpEvent;
				moveable = false;
				moveX = 0;
				moveY = 0;
				moveTop = 0;
				moveLeft = 0;
			}
		};
	}
	//请求数据
	//show_content1( talk_id , "htmC" ) ;
}
 

 

 

 

 

 

 

分享到:
评论

相关推荐

    js+CSS实现弹出居中背景半透明div层的方法.docx

    在 JavaScript 中,我们定义了两个函数,pupopen() 和 pupclose(),用于控制背景半透明层和弹出窗口的显示和隐藏。 当用户点击“点击这里打开窗口”链接时,pupopen() 函数将被调用,背景半透明层和弹出窗口将被...

    弹出层全屏半透明(浏览器全兼容)

    在网页设计和开发中,创建一个弹出层全屏半透明的效果是一项常见的需求,它可以用于显示重要的信息、对话框或者加载动画等。标题"弹出层全屏半透明(浏览器全兼容)"揭示了我们要讨论的关键技术点:弹出层的实现、...

    jquery弹出层背景变暗

    "jQuery弹出层背景变暗"这个话题涉及到在使用jQuery时,如何创建一个具有半透明暗色背景的弹出层(也称为对话框或模态窗口),以突出显示弹出内容并降低页面其他部分的视觉干扰。 首先,我们需要理解jQuery弹出层的...

    js透明弹出层

    在本主题中,我们聚焦的是“js透明弹出层”,这是一种常见于网页设计中的功能,它允许在不刷新整个页面的情况下,显示一个覆盖在原有页面上的半透明对话框,用于提示信息、展示详情或接收用户输入。 创建js透明弹出...

    DIV始终居中的半透明弹出层.rar

    例如,将弹出层背景设为50%透明: ```css .popup { background-color: rgba(0, 0, 0, 0.5); /* rgba 颜色模式,最后一个参数是透明度 */ opacity: 0.5; /* 另一种设置透明度的方式 */ } ``` 使用`rgba`颜色...

    jquery弹出层 jquery弹出层 jquery弹出层

    5. **阻止背景交互**:为了让用户专注于弹出层,可以设置背景半透明,或者禁止背景交互。这可以通过CSS的`pointer-events`属性实现,或者通过JavaScript来禁用背景元素的点击事件。 6. **响应式设计**:为了确保在...

    DIV始终居中的半透明弹出层

    在网页设计中,"DIV始终居中的半透明弹出层"是一种常见的用户界面元素,用于显示重要的信息或者交互,如提示、警告、登录框等。本文将深入探讨如何实现这样的功能,包括HTML结构、CSS样式以及可能涉及的JavaScript...

    一个半透明效果的弹出框

    半透明弹出框的优势在于,它不会完全遮挡背景内容,使得用户在查看弹出信息的同时仍能对页面其他部分有所感知,降低了用户的认知负担。此外,这种设计还可以增加界面的层次感和动态效果,提升整体的视觉体验。 在...

    Jquery实现的弹出层背景变黑

    在这个"Jquery实现的弹出层背景变黑"的项目中,我们将探讨如何使用jQuery来创建一个类似百度注册页面的弹出层效果,并且在弹出层出现时将背景变为黑色,增强用户界面的视觉体验。 首先,我们需要理解弹出层(Modal...

    jquey弹出层背景置灰不能操作实例

    本实例重点讨论如何利用jQuery实现弹出层(modal)功能,并将背景置灰,使用户在弹出层显示时无法与背景元素交互。通过这个实例,我们可以学习到以下几个关键知识点: 1. **jQuery 弹出层**:jQuery 弹出层通常是...

    很犀利的弹出层,弹出层代码

    - **遮罩层**:创建一个全屏半透明的遮罩层,增加弹出层的视觉效果,同时阻止用户对背景内容的交互。 - **响应式设计**:考虑不同设备和屏幕尺寸,利用媒体查询(`@media`)确保弹出层在不同环境下都能正常显示。 ...

    弹出层封装_1

    遮罩层是在弹出层出现时覆盖在页面上的半透明背景,起到隔离弹出层与页面其他元素的作用,防止用户误操作。它有助于提高弹出层的视觉焦点,让用户专注于当前的任务。在“弹出层封装_1”中,遮罩层可能会配合弹出层一...

    弹出层示例

    遮罩层则是弹出层的一个组成部分,通常是一个覆盖在页面上的黑色或灰色半透明层,它的作用是降低背景内容的可见性,从而突出弹出层的重要性。遮罩层的存在可以有效地防止用户在弹出层出现时误操作其他区域,提供了一...

    18种非常实用的js弹出层

    弹出层是一种在主页面上覆盖一层半透明或不透明的遮罩,突出显示特定内容的交互设计。它通常包含关闭按钮或其他交互元素,让用户能够返回原来的页面。 1. **基本HTML结构**:弹出层的基本结构通常包括一个容器元素...

    背景变暗弹出层 遮蔽层效果

    CSS可以利用伪类(如`:hover`)和定位(如`position: fixed`)来实现弹出层的显示和隐藏,同时通过调整背景颜色的透明度(如`opacity`)来实现背景变暗。 在实际应用中,开发者可以根据项目需求选择合适的实现方式...

    超级漂亮的弹出层效果

    实现这一效果,开发者通常会在弹出层下方添加一个全屏的半透明div,设置合适的背景颜色和透明度。通过CSS的`opacity`和`background-color`属性可以调整遮罩的透明度和颜色。 在技术实现上,"超级漂亮的弹出层效果...

    链接弹出层 背景变暗 适合登录框等

    CSS则用来定义遮罩层的样式,如全屏覆盖、半透明黑色背景,以及弹出层的样式,如边框、阴影、动画效果等。 综上所述,这个知识点涵盖了Web前端开发中的弹出层设计、浏览器兼容性优化、HTML和CSS布局以及JavaScript...

    几种网页弹出层的实例

    遮罩层通常用于创建一个半透明的背景,以突出显示弹出层内容,并防止用户与页面其他部分交互。在"弹出Div锁定桌面.rar"中,你可能会看到如何创建一个带有全屏遮罩层的弹出层,这个弹出层会锁定在用户的桌面上,直到...

    jquery弹出层

    弹出层,也称为浮层或模态对话框,是在网页上覆盖一层半透明或全屏的元素,通常用于显示警告、表单、图片或其他内容。这种设计模式可以提高用户体验,因为它允许用户在查看或操作新内容的同时,保留对原始页面的上...

    微博弹出层

    5. JavaScript或jQuery:为了实现弹出层的显示、隐藏以及与用户的交互,可能需要编写一些JavaScript代码,例如事件监听和DOM操作。 总结来说,"微博弹出层"是一个利用HTML和CSS技术构建的,具有圆角效果且用户体验...

Global site tag (gtag.js) - Google Analytics