导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
  • VC
  • 问答

js遮罩层

huangwenquan123 2010-05-20 03:20:24
网上找的遮罩层没找到满意的
想不管有没有滚动条
点击弹出的话弹出个遮罩层
同时滚动条隐藏掉不能滚动
像QQ空间
个人中心看别人相册的时候就是这个效果

大家帮忙下!
去网上找了好久没找到满意的了!
...全文
1390 点赞 收藏 22
写回复
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
josephchang23 2013-01-01
不能滚动到底怎么做。。。用overflow的话就变不回来了
回复
jba 2011-09-15
[Quote=引用 2 楼 ch_weni 的回复:]
关注个,帮顶
[/Quote]
晕,原来下面已经把代码拷贝下来了,我还傻呼呼的花了十分下载……
回复
liu19874233 2010-09-18
非好的GOOD
回复
liu19874233 2010-09-18
非常的好
回复
xiaoqiMyjie 2010-06-21
百度搜索 :lightbox效果
回复
huangwenquan123 2010-05-21
还是自己做的比较满意!
回复
huangwenquan123 2010-05-20
回复
kk297173176 2010-05-20
呵呵 我感觉lz找的时间 自己也能写个差不多的了。
回复
lovehong123 2010-05-20
点击弹出层,后面被屏避2008年12月04日 星期四 03:52 A.M.<script>
var docEle = function() {
return document.getElementById(arguments[0]) || false;
}
function openNewDiv(_id) {
var m = "mask";
if (docEle(_id)) document.removeChild(docEle(_id));
if (docEle(m)) document.removeChild(docEle(m));
// 新激活图层
var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDiv.style.width = "200px";
newDiv.style.height = "300px";
newDiv.style.top = "100px";
newDiv.style.left = (parseInt(document.body.scrollWidth) - 300) / 2 + "px"; // 屏幕居中
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.innerHTML = "新激活图层内容";
document.body.appendChild(newDiv);
// mask图层
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
newMask.style.width = document.body.scrollWidth + "px";
newMask.style.height = document.body.scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#000";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);

// 关闭mask和新图层
var newA = document.createElement("a");
newA.href = "#";
newA.innerHTML = "关闭激活层";
newA.onclick = function() {
document.body.removeChild(docEle(_id));
document.body.removeChild(docEle(m));
return false;
}
newDiv.appendChild(newA);
}
</script>
<body>
<a href="#" _fcksavedurl="#" onclick="openNewDiv('newDiv');return false;">激活新层</a>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
<p>网页内容网页内容网页内容</p>
</body>


回复
huangwenquan123 2010-05-20
继续up个!
还是没找到满意的!
回复
gongsun 2010-05-20
你搜索一下,我以前也是在网上找的。

很好用。
回复
Ray_Yang 2010-05-20


.divMask{
background:#000;
-moz-opacity:0.6;
opacity:0.6;
filter:alpha(opacity=20);
z-index:100;
border:none;
display:none;
position:absolute;
top:0;
left:0;
}



if($("#divMask").size()==0){
$("body").append("<div id=\"divMask\" class=\"divMask\"></div><input type=\"button\" id=\"btnHideMask\" style=\"display:none\">");
}



var bodyWidth = $(window).width();
var bodyHeight = $(window).height()+document.body.scrollTop;
var leftMargin = bodyWidth/2+document.body.scrollLeft;
var topMargin = bodyHeight/2+document.body.scrollTop;


$("#divMask").css({"width":$(document).width(), "height":$(document).height()}).show();

回复
huangwenquan123 2010-05-20
[Quote=引用 7 楼 tashiwoweiyi 的回复:]
其实就是弹出一个DIV啦。。。。
[/Quote]我也知道是弹出个div- -
回复
[Quote=引用 5 楼 daolang0102 的回复:]
去看看这个http://download.csdn.net/source/1039616http://download.csdn.net/source/1039616
[/Quote]


function sAlert(str, newPage) {
var msgw, msgh, bordercolor;
msgw = 450; //提示窗口的宽度
msgh = 200; //提示窗口的高度
titleheight = 25 //提示窗口标题高度
bordercolor = "#336699"; //提示窗口的边框颜色
titlecolor = "#99CCFF"; //提示窗口的标题颜色

var sWidth, sHeight;
sWidth = document.body.offsetWidth; //浏览器工作区域内页面宽度
sHeight = document.body.offsetHeight; //屏幕高度(垂直分辨率)
if (sHeight < window.screen.height)
sHeight = window.screen.height;


//背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)
var bgObj = document.createElement("div"); //创建一个div对象(背景层)

//定义div属性,即相当于
// <div id="bgDiv" style="position:absolute; top:0; background-color:#777; filter:progid:DXImagesTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75); opacity:0.6; left:0; width:918px; height:768px; z-index:10000;"> </div>

bgObj.setAttribute("id", "bgDiv");
//alert("***********")
bgObj.style.position = "absolute";
bgObj.style.top = "0";
bgObj.style.background = "#777";
bgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity = "0.6";
bgObj.style.left = "0";
bgObj.style.width = sWidth + "px";
bgObj.style.height = sHeight + "px";
bgObj.style.zIndex = "10000";
document.body.appendChild(bgObj); //在body内添加该div对象



var msgObj = document.createElement("div")//创建一个div对象(提示框层)
//style="background-image:url(images/Show.jpg); width:450px; height:200px; position:absolute; top:70%; left:30%; text-align:center;"
//定义div属性,即相当于
// <div id="msgDiv" align="center" style="background-color:white; border:1px solid #336699; position:absolute; left:50%; top:50%; font:12px/1.6em Verdana,Geneva,Arial,Helvetica,sans-serif; margin-left:-225px; margin-top:npx; width:400px; height:100px; text-align:center; line-height:25px; z-index:100001;"> </div>
msgObj.setAttribute("id", "msgDiv");
msgObj.setAttribute("align", "center");
//msgObj.style.background = "url(images/Show.jpg)";
msgObj.style.background = "white";
msgObj.style.border = "1px solid " + bordercolor;
msgObj.style.position = "absolute";
msgObj.style.left = "50%";
msgObj.style.top = "50%";
msgObj.style.font = "11pt Verdana, Geneva, 黑体, Helvetica, sans-serif";
//msgObj.style.font="15pt, 黑体";
//msgObj.style.color="white";
msgObj.style.marginLeft = "-225px";
msgObj.style.marginTop = -75 + document.documentElement.scrollTop + "px";
msgObj.style.width = msgw + "px";
msgObj.style.height = msgh + "px";
msgObj.style.textAlign = "center";
msgObj.style.lineHeight = "25px";
msgObj.style.zIndex = "10001";
//alert("***********")
var title = document.createElement("h4"); //创建一个h4对象(提示框标题栏)
//定义h4的属性,即相当于
// <h4 id="msgTitle" align="right" style="margin:0; padding:3px; background-color:#336699; filter:progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100); opacity:0.75; border:1px solid #336699; height:18px; font:12px Verdana,Geneva,Arial,Helvetica,sans-serif; color:white; cursor:pointer;" onclick=""> 关闭 </h4>

// title.setAttribute("id","msgTitle");
// title.setAttribute("align","right");
// title.style.margin="0";
// title.style.padding="3px";
// title.style.background=bordercolor;
// title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
// title.style.opacity="0.75";
// title.style.border="1px solid " + bordercolor;
// title.style.height="18px";
// title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
// title.style.color="white";
// title.style.cursor="pointer";
// title.innerHTML="关闭";
// title.onclick=removeObj;

function removeObj() {//点击标题栏触发的事件
document.body.removeChild(bgObj); //删除背景层Div
document.getElementById("msgDiv").removeChild(title); //删除提示框的标题栏
document.body.removeChild(msgObj); //删除提示框层
if (newPage == "#" || newPage == "")
return;
else
window.location = newPage;
}
var button = document.createElement("input"); //创建一个input对象(提示框按钮)
//定义input的属性,即相当于
// <input type="button" align="center" style="width:100px; align:center; margin-left:250px; margin-bottom:10px;" value="关闭">
button.setAttribute("type", "button");
button.setAttribute("value", "关 闭");
button.style.width = "60px";
button.style.align = "center";
button.style.marginLeft = "250px";
button.style.marginBottom = "10px"; //cursor:pointer
button.style.background = bordercolor;
button.style.border = "1px solid " + bordercolor;
button.style.color = "white";
button.style.cursor = "pointer";
button.onclick = removeObj;
document.body.appendChild(msgObj); //在body内添加提示框div对象msgObj
document.getElementById("msgDiv").appendChild(title); //在提示框div中添加标题栏对象title

var txt = document.createElement("p"); //创建一个p对象(提示框提示信息)
//定义p的属性,即相当于
// <p style="margin:1em 0;" id="msgTxt"> 测试效果 </p>
txt.style.margin = "1em 0"

txt.setAttribute("id", "msgTxt");
txt.innerHTML = str; //来源于函数调用时的参数值
document.getElementById("msgDiv").appendChild(txt); //在提示框div中添加提示信息对象txt
document.getElementById("msgDiv").appendChild(button); //在提示框div中添加按钮对象button


}


怎么用 去看看上头这个地址就好了
回复
tashiwoweiyi 2010-05-20
其实就是弹出一个DIV啦。。。。
回复
huangwenquan123 2010-05-20
[Quote=引用 5 楼 daolang0102 的回复:]
去看看这个http://download.csdn.net/source/1039616http://download.csdn.net/source/1039616
[/Quote]分太多了- -!
回复
去看看这个http://download.csdn.net/source/1039616http://download.csdn.net/source/1039616
回复
路人乙e 2010-05-20
弹出div就不用说了,应该是没任何问题,隐藏滚动条的话有两个方法:
document.body.style.overflow = "hidden";
or
document.body.scrool = "no";
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告