`

网页中弹出小窗口(页面背景直接半透明)

阅读更多
转载: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>


分享到:
评论
1 楼 javaAlpha 2009-06-26  
不错 的  东东 正好用上了

相关推荐

    网页中弹出小窗口,页面背景逐渐变为半透明.rar

    这里帖出两种效果,第一种是弹出时页面背景直接变为半透明,而第二种则对XP关机效果仿得更像一点儿,即背景是有一个逐渐变为半透明的过程,大家可以留心观察两种效果的区别,两种效果全部通过了IE6和firefox的测试。

    网页中弹出小窗口,页面背景逐渐变为半透明

    综上所述,"网页中弹出小窗口,页面背景逐渐变为半透明"这一效果的实现涉及HTML结构、CSS样式和JavaScript编程,以及用户体验和性能优化等多个方面。通过熟练掌握这些技术,可以创建更具吸引力和互动性的网页。

    在一个网页中间弹出窗口

    ### 在网页中间弹出窗口的知识点解析 #### 一、网页弹窗的实现方式与应用场景 在现代网页设计中,弹窗(模态对话框)是一种常见的交互元素,用于显示临时性的信息或提示用户进行某种操作。弹窗的实现不仅能够提升...

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

    这种效果通过创建一个覆盖整个页面的半透明div层来实现,使得弹出窗口成为焦点,而背景则变得相对较暗,从而引导用户的注意力。 首先,我们来看`div`标签。在HTML中,`&lt;div&gt;`(division)是一个通用的容器元素,...

    弹出窗口灰色背景

    首先,"弹出窗口灰色背景"意味着在弹出对话框时,会有一个半透明的灰色层覆盖在页面背景上,这通常被称为“蒙层”或“遮罩层”。这种设计有助于将用户的注意力集中到弹出窗口上,而不是页面的其他部分。实现这一效果...

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

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

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

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

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

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

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

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

    ASP.NET&Javascript实现半透明背景&模式弹出个性化页面实例

    需要我们弹出一些自定义控件或页面,同时用一层半透明的背景将页面的其他地方遮住,以防止用户的其他操作,以达到一种“模式窗口”的效果,这里给出一个实现此类效果,同时支持弹出自定义控件页面中通过委托更新主...

    JavaScript 弹出半透明窗口

    // 如果需要在某个特定事件(比如页面加载完成后)弹出窗口 window.onload = function() { document.getElementById('popup').style.display = 'block'; } ``` 4. **动态居中**:如果窗口的大小会变化,可能需要...

    一个半透明效果的弹出框

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

    jQuery-带透明度的一个漂亮的弹出窗口

    现在,当弹出窗口显示时,会有一个半透明的背景层覆盖整个页面,用户点击背景或关闭按钮都可以关闭弹出窗口。 总结一下,使用jQuery实现带透明度的弹出窗口涉及的主要知识点有:jQuery的选择器、事件绑定(`.click...

    JQery+DIV+CSS在本页面弹出遮罩层,如弹出的登录小窗口

    在这里,JQuery被用来实现遮罩层的效果,即当用户触发特定行为(例如,点击某个按钮)时,会在当前页面上覆盖一层半透明的背景,以突出显示弹出的登录小窗口。 DIV是HTML中的一个块级元素,常用于布局和分隔页面...

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

    在弹出窗口出现时,为body或者其他全屏元素添加一个黑色半透明的背景层。例如: ```css .modal-open { background-color: rgba(0, 0, 0, 0.5); } ``` 这里的`.modal-open`是当弹出窗口打开时,会应用到body上的类...

    弹出窗口_背景固定_iframe

    1. 创建一个CSS样式,使得弹出窗口在页面中央显示,并设置背景为透明或半透明,以达到“固定背景”的效果。这样,当弹出窗口打开时,用户可以看到被遮挡的主页面,但不能与之交互。 2. 在HTML中使用`&lt;iframe&gt;`元素,...

    网页弹出层提示登录或注册窗口实例

    网页开发中,弹出层和弹出窗口是常见的交互设计元素,它们用于向用户显示临时信息、提示用户进行操作,如登录或注册。本实例主要关注如何实现这样的功能,为用户提供简洁而有效的登录和注册体验。 弹出层,通常称为...

    功能强大的JS弹出窗口

    1. **不带灰色半透明遮罩层的普通窗口**:这种弹出窗口只包含一个独立的对话框,没有背景的遮罩层,用户可以清晰地看到页面的其他内容。通常用于显示简单提示或者信息。 2. **带遮罩层的弹出窗口**:在这种模式下,...

    网页中弹出小窗口,页面背景逐渐变为半透明特效代码

    介绍: 不管是做网站还是一些应用系统,都免不了要用到一些弹出的效果,在ZJ-BLOG V1.0 Beta2版本我在一些功能使用了网络上比较流行的仿XP关机效果的弹出功能,按目前的反应来说还是效果不错的,下面将此功能整一下...

    js 弹出窗口 弹出div window 支持遮罩、拖动、嵌入页面、换肤等实用功能

    1. **遮罩效果**:遮罩层是在弹出窗口后面添加一个半透明的背景层,以突出显示弹出窗口并防止用户与页面其他部分互动。实现这一效果通常涉及到CSS的透明度和定位属性,以及JavaScript来动态调整遮罩层的大小和显示。...

Global site tag (gtag.js) - Google Analytics