我下载大仙们的演示页面,跨浏览器都是可以弹层的,但是我们系统是要做frameset,在子页面中打开框架页的层,为什么只能在ie中打开,在其他浏览器中木反应啊?
index页面:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style>
.lightbox{width:300px;background:#FFFFFF;border:5px solid #ccc;line-height:20px;display:none; margin:0;}
.lightbox dt{background:#f4f4f4;padding:5px;}
.lightbox dd{ padding:20px; margin:0;}
</style>
<script src="CJL.0.1.min.js"></script>
<script src="AlertBox.js"></script>
<script type="text/javascript">
function doOpenLay(divId,html)
{
var msgDiv = document.createElement("dl");
msgDiv.setAttribute('id', divId);
document.body.appendChild(msgDiv);
document.getElementById(divId).innerHTML = html;
//document.getElementById(divId).style.position = "fixed";
//document.getElementById(divId).className = 'lightbox';
var ab = new AlertBox("idBox"), lock = false;
ab.fixed = true;
ab.center = true;
ab.show();
}
</script>
</head>
<frameset rows="80,*,50" cols="*" framespacing="0" frameborder="no" border="0">
<frame src="top.html" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
<frame src="center.html" name="mainFrame" id="mainFrame" />
<frame src="foot.html" name="bottomFrame" id="bottomFrame" scrolling="No" noresize="noresize"/>
</frameset>
<noframes>
</noframes>
</html>
center.html
<html>
<head>
<script type="text/javascript">
function doClick()
{
window.parent.doOpenLay("idBox",document.getElementById("idBox").innerHTML);
}
</script>
</head>
<body>
<dl id="idBox" class="lightbox" style="top:10%;left:5%;">
<dt><b>title</b> </dt>
<dd>
<input type="text" value="正常输入" id="idBoxTxt">
<input type="button" value=" 关闭 " id="idBoxClose" />
</dd>
</dl>
<input type="button" value="打开层" onclick="doClick();"/>
</body>
</html>
另外还借助了 cloudgamer大仙的 CJL.0.1.min.js 和 AlertBox.js 两个js
难道除了ie就不能使用frameset?
你需要在center这种独立的页面中引入脚本。弹窗内部可能是以body作为父容器,frameset页面中没有这样的元素...
我想在容器中取弹层,如果只在center里面弹的话,锁屏只锁了中间,弹层也可能被遮住,所以想在框架层弹出,这样的话,锁屏和弹层是基于整个屏幕而言的
@123527504: 这个你可能需要看下插件具体是怎么写的。不过很少见到框架集锁屏的。