`
akunamotata
  • 浏览: 378714 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

网页中弹出小窗口,页面背景变暗

    博客分类:
  • note
阅读更多

转载:http://hi.baidu.com/javajavajava/blog
不管是做网站还是一些应用系统,都免不了要用到一些弹出的效果,在ZJ-BLOG V1.0 Beta2版本我在一些功能使用了网络上比较流行的仿XP关机效果的弹出功能,按目前的反应来说还是效果不错的,下面将此功能整一下儿,如果有需要大家可以直接使用到自己的网站或是应用系统中去。
  不在详细的说明代码了,帖出代码之前需要说明一点儿的是IE环境下,由于下拉框(select元素)优先级太高了,弹出的div元素无法盖住下拉框元素,很烦人的一个IE的BUG(个人认为是BUG ^o^),我使用的方法是在弹出时隐藏掉页面中全部的select元素,而关系窗口时让其再显示出来。呵呵,方法比较笨,但实在想不出来更好的办法了。

 

 

<!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>   
<title>页面中弹出小窗口,页面背景直接变半透明-webjx.com</title>   
<style>   
html,body{font-size:12px;margin:0px;height:100%;}   
.mesWindow{border:#666 1px solid;background:#fff;}   
.mesWindowTop{border-bottom:#eee 1px solid;margin-left:4px;padding:3px;font-weight:bold;text-align:left;font-size:12px;}   
.mesWindowContent{margin:4px;font-size:12px;}   
.mesWindow .close{height:15px;width:28px;border:none;cursor:pointer;text-decoration:underline;background:#fff}   
</style>   
<script>   
	var isIe=(document.all)?true:false;   
	//设置select的可见状态   
	function setSelectState(state)   
	{   
		var objl=document.getElementsByTagName('select');   
		for(var i=0;i<objl.length;i++)   
		{   
			objl[i].style.visibility=state;   
		}   
	}   
	function mousePosition(ev)   
	{   
	if(ev.pageX || ev.pageY)   
	{   
	  return {x:ev.pageX, y:ev.pageY};   
	}   
		return {   
			x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,y:ev.clientY + document.body.scrollTop - document.body.clientTop   
		};   
	}   
	//弹出方法   
	function showMessageBox(wTitle,content,pos,wWidth)   
	{   
		closeWindow();   
		var bWidth=parseInt(document.documentElement.scrollWidth);   
		var bHeight=parseInt(document.documentElement.scrollHeight);   
		if(isIe){   
			setSelectState('hidden');
		}   
		var back=document.createElement("div");   
		back.id="back";   
		var styleStr="top:0px;left:0px;position:absolute;background:#666;width:"+bWidth+"px;height:"+bHeight+"px;";   
		styleStr+=(isIe)?"filter:alpha(opacity=40);":"opacity:0.40;";   
		back.style.cssText=styleStr;   
		document.body.appendChild(back);   
		var mesW=document.createElement("div");   
		mesW.id="mesWindow";   
		mesW.className="mesWindow";   
		mesW.innerHTML="<div class='mesWindowTop'><table width='100%' height='100%'><tr><td>"+wTitle+"</td><td style='width:1px;'><input type='button' onclick='closeWindow();' title='关闭窗口' class='close' value='关闭' /></td></tr></table></div><div class='mesWindowContent' id='mesWindowContent'>"+content+"</div><div class='mesWindowBottom'></div>";   
		styleStr="left:"+(((pos.x-wWidth)>0)?(pos.x-wWidth):pos.x)+"px;top:"+(pos.y)+"px;position:absolute;width:"+wWidth+"px;";   
		mesW.style.cssText=styleStr;   
		document.body.appendChild(mesW);   
	}   
	function showBackground(obj,endInt)   
	{   
		obj.filters.alpha.opacity+=1;   
		if(obj.filters.alpha.opacity<endInt)   
		{   
			setTimeout(function(){showBackground(obj,endInt)},8);   
		}   
	}   
	//关闭窗口   
	function closeWindow()   
	{   
		if(document.getElementById('back')!=null)   
		{   
			document.getElementById('back').parentNode.removeChild(document.getElementById('back'));   
		}   
		if(document.getElementById('mesWindow')!=null)   
		{   
			document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));   
	  }   
		if(isIe){   
			setSelectState('');
		}   
	} 
	//测试弹出   
	function testMessageBox(ev)   
	{   
		var objPos = mousePosition(ev);   
		messContent="<div style='padding:20px 0 20px 0;text-align:center'>消息正文</div>";   
		showMessageBox('窗口标题',messContent,objPos,350);   
	}   
</script>   
</head>   
<body>   
<div style="padding:20px">   
<div style="text-align:left";><a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>   
<div style="text-align:left;padding-left:20px;padding-top:10px";><select><option>下拉</option></select>弹出窗口时会将其隐藏,关闭时会让其显示,目的是在IE中防止弹出的DIV挡不住下拉框</div>   
<div style="text-align:center";><a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>   
<div style="text-align:right";><a href="#none" onclick="testMessageBox(event);">弹出窗口</a></div>   
</div>   
</body>   
</html> 

 

速度撒 

分享到:
评论

相关推荐

    div+css实现弹出窗口背景变暗效果

    在网页设计中,"div+css实现弹出窗口背景变暗效果"是一种常见的交互设计手法,主要用于提升用户体验,特别是当用户需要关注特定弹出信息时。这种效果通过创建一个覆盖整个页面的半透明div层来实现,使得弹出窗口成为...

    点击弹出窗口网页背景变暗且不可点的效果(二):iframe实现

    标题中的“点击弹出窗口网页背景变暗且不可点的效果(二):iframe实现”指的是在Web开发中,当用户点击某个元素时,会弹出一个新的窗口或对话框,而此时网页的背景会变暗并且不可交互,这种效果通常用于创建更加聚焦...

    弹出登录页面,背景变暗

    在网页设计和开发中,"弹出登录页面,背景变暗"是一种常见的用户体验设计手法,其目的是通过在用户与登录对话框交互时降低背景界面的可见性,从而集中用户的注意力。这种效果通常被称为"模态窗口"或"遮罩层",在网页...

    点击弹出窗口网页背景变暗且不可点的效果(三):iframe实现

    标题 "点击弹出窗口网页背景变暗且不可点的效果(三):iframe实现" 涉及的是在网页设计中创建一种用户体验优化的技巧。这种技巧通常用于弹窗或者模态对话框,当用户点击弹出窗口时,背景页面会变暗并且变为不可交互...

    实现了弹出窗口后背景变灰并屏蔽

    在ASP.NET开发中,"实现了弹出窗口后背景变灰并屏蔽"这一功能通常涉及到对话框(Modal Dialog)的使用,以及页面动态效果的实现。这个功能的主要目的是在弹出一个窗口时,使得主页面变得不可操作,以引导用户专注于...

    登陆弹出页面 背景变暗

    当弹出登录框时,`overlay`会显示出来,使得页面背景变暗。 以上就是实现"登陆弹出页面 背景变暗"的基本步骤。实际应用中,可能还需要考虑更多细节,比如动画效果、响应式布局、表单验证等,以确保在各种设备和...

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

    首先,标题中的“背景变暗弹出层”是指在用户触发某个事件(如点击按钮)时,页面的背景会逐渐变暗,同时一个弹出窗口或对话框出现在用户视线中心。这种设计能够有效地将用户的注意力引导到弹出层上,避免背景内容的...

    超好的点击后弹出窗口代码,背景变黑(可居中定位)

    在IT行业中,网页交互设计...通过这些技术,我们可以创建出既美观又实用的弹出窗口,提高用户在网页中的交互体验。在实际项目中,开发者还可以根据需求进一步优化,例如添加动画效果、关闭按钮等,使弹出窗口更加完善。

    随着pupop窗口弹出,主页面逐渐变暗

    当一个popup窗口弹出时,主页面逐渐变暗的现象是为了引导用户的注意力集中在新打开的窗口上,这种设计被称为半透明蒙层或遮罩效果。 首先,我们来了解一下popup窗口的工作原理。在网页环境中,这通常通过JavaScript...

    jquery弹出层背景变暗

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

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

    标题中的“链接弹出层 背景变暗 适合登录框等”指的是网页设计中常见的一种交互效果,即当用户点击某个链接时,页面上会弹出一个半透明的遮罩层,背景变暗,突出显示弹出的窗口,通常用于创建登录框、注册表单或通知...

    网页上div拖拽,弹出div背景变暗

    当弹出div时,这个黑色层会覆盖整个页面,创造出背景变暗的效果。 2. **JavaScript / jQuery**:负责处理用户的交互事件,例如鼠标拖动。在JavaScript中,我们可以监听`mousedown`、`mousemove`和`mouseup`事件来...

    JS+CSS实现Div弹出窗口同时背景变暗的方法

    在网页设计中,创建弹出窗口并使背景变暗是一个常用的技术,其主要目的是为了使用户注意到弹出的内容,同时减少主页面上其他内容的干扰。本文将详细介绍如何使用JavaScript(JS)和层叠样式表(CSS)来实现一个Div弹...

    纯css实现的DIV弹出窗口,周围变暗效果代码.zip

    标题中的“纯css实现的DIV弹出窗口,周围变暗效果代码”指的是使用CSS来创建一个弹出窗口(通常称为modal或dialog),并且在弹出窗口出现时,页面背景会变暗,形成一种聚焦和突出显示弹出内容的效果。这种效果在网页...

    lightbox弹出窗口背景变灰代码

    下面将详细解释如何实现这种“lightbox弹出窗口背景变灰”的效果。 首先,我们需要理解实现这个功能的关键元素: 1. **HTML 结构**:HTML 是页面的基础,我们需要创建一个或多个图像元素,当用户点击这些元素时...

    弹出层锁窗口 背景变灰 支持Firefox ie6 ie7 opera safari

    这个功能允许在用户与弹出层交互时,使页面背景变暗或者半透明,从而集中用户的注意力。以下将详细介绍实现这一功能的关键知识点。 1. 弹出层(Popup Layer): 弹出层是在网页上动态显示的独立内容区域,通常用于...

    js特效,各种页面弹出浮动

    点击弹出窗口层,并且背景变暗渐变.htm 设定时间弹出窗口.htm 打开一个窗口在一定的时间内自动关闭.htm 只在关闭窗口的时候提示,刷新的时候不提示.htm 离开时转跳到指定网址.htm 随同主窗口同时弹出的附加小窗口....

    弹出窗口实例 javascript

    在压缩包中的“弹出窗口新建样式”文件,很可能是包含了实现这些功能的CSS代码,可能涉及了如何实现背景变暗、弹出窗口的定位和动画效果等。 总之,“弹出窗口实例”是一个涵盖了JavaScript交互设计、CSS样式控制和...

    lightbox弹出窗口背景变灰代

    以上就是实现Lightbox弹出窗口背景变灰的基本步骤。在实际应用中,可能还需要考虑更多细节,如动画效果、响应式设计、键盘导航等。在提供的RAR压缩包中,可能包含了实现这一功能的具体代码示例,可以解压后进行学习...

    colorbox弹出窗口,置顶弹出隐藏层,并且背景置灰 简单示例,简单调用方式,更多调用方式请网上查询资料,仅提供运行所需依赖c

    在网页设计和开发中,有时候我们需要创建一种效果,即当用户点击某个元素时,一个弹出窗口会在页面上出现,同时背景变暗,以便聚焦用户的注意力。这就是所谓的“模态”或“弹出框”效果。Colorbox是一个流行的...

Global site tag (gtag.js) - Google Analytics