补遗: clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。 offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。 offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。 screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。 screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。 x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标。 y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标。
参照这个改一下吧
var gFrame = null;
function ShowDiv(id,evt)
{
if(gFrame == null)
{
gFrame = document.createElement("IFRAME");
document.body.appendChild(gFrame);
gFrame.style.position = "absolute";
gFrame.style.zIndex = 1000;
}
gFrame.src = "b.aspx?id="+id
gFrame.style.left = evt.x;
gFrame.style.top = evt.y
gFrame.style.display = "";
}
如果是用dom生成iframe的话,是不是这个地方不太好弄?思路一片混乱!传id基本明白了,是不是把绑定的id那列作为javascript函数的参数传出去就行了?艾,以前从来不写前台的,现在痛苦死
div_msg.style.visibility="hidden";
<div id="toolbar" style="cursor: pointer;" onmousedown="down(event)" onmouseup="up();"
onmousemove="move(event)">
<span id="wintitle" style="float: left;"></span><span style="float: right; padding-top: 5px;
padding-right: 5px;"><a href="javascript:void(0)">
<img alt="点击关闭" src="images/x.gif" width="16" height="15" id="img_colse" border="0"
onclick="MM_showHideLayers('detail',false)" /></a></span> <span style="clear: both;">
</span>
</div>
<div id="content">
<iframe scrolling="auto" id="ifContent" name="ifContent" height="320px" width="100%"
style="border-style: outset; border-width: 0px;"></iframe>
</div>
</div> <script type="text/javascript">
var flag=false;
var x_start=0;
var y_start=0;
function move(e)
{
if(flag)
{
var src = e.srcElement || e.target;
if(src.id=="img_colse")
{
flag=false;
return false;
}
var obj=document.getElementById("detail");
if(e.offsetX)
{
obj.style.left=parseInt(e.clientX-x_start-2) + "px";
obj.style.top=parseInt(e.clientY-y_start-2) + "px";
}
else
{
// obj.style.left=parseInt(e.clientX- top.leftFrame.document.width -x_start-2) + "px";
// obj.style.top=parseInt(e.clientY - top.topFrame.document.height -y_start-2) + "px";
}
// var spanObj=document.getElementById("mInfo");
// spanObj.innerHTML="e.clientX:" + e.clientX;
// spanObj.innerHTML+="e.offsetX:" + e.offsetX;
// spanObj.innerHTML+="e.clientX-e.offsetX:" + (e.clientX-e.offsetX);
}
}
function down(e)
{
flag=true;
if(e.offsetX)
{
x_start=e.offsetX;
y_start=e.offsetY;
}
else
{
x_start=e.clientX - top.leftFrame.document.width;
y_start=e.clientY - top.topFrame.document.height;
}
var obj=document.getElementById("toolbar");
obj.style.cursor = "move";
}
function up()
{
flag = false;
x_start=0;
y_start=0;
var obj=document.getElementById("toolbar");
obj.style.cursor = "pointer";
}
function MM_showHideLayers(id,v,param,e) { //v6.0
var obj = document.getElementById(id);
if(e)
{
obj.style.left = parseInt(document.documentElement.clientWidth/2-150) + "px";
obj.style.top = parseInt(document.documentElement.clientHeight/2-150 ) + "px";
}
if(obj)
{
if(v)
{
obj.style.display="block";
document.getElementById("wintitle").innerHTML="业务详情";
if(document.getElementById("ifContent")!=null)
document.getElementById("ifContent").src="ShowDetail.aspx?id="+param;
}
else
{
ifContent.document.write("请稍候,数据正在载入中");
ifContent.document.close();
//document.frames["ifContent"].document.write("请稍候,数据正在载入中");
obj.style.display="none";
document.getElementById("ifContent").setAttribute("height","220");
}
}
}
</script>调用showHideLayers函数来显示
里面关于firefox下,浮动的代码还没写好。在IE下没问题
你去下个jquery库,在下个thickbox,即可实现。
主頁面<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>未命名頁面</title>
<script type="text/javascript" language="javascript">
function ShowPage()
{
document.getElementById('iframe1').style.display = 'block';
window.event.returnValue=false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:LinkButton ID="LinkButton1" OnClientClick="ShowPage()" runat="server">ShowPage</asp:LinkButton>
<div id="div1">
<iframe id="iframe1" src="popPage.aspx" style="height:600px;width:750px;display:none;"></iframe>
</div>
</form>
</body>
</html>
新窗口頁面<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>未命名頁面</title>
<script type="text/javascript" language="javascript">
function ClosePage()
{
window.parent.document.getElementById('iframe1').style.display="none";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<img src="Image/P2P_1.jpg" onclick="ClosePage()" style="cursor: hand" />
</div>
</form>
</body>
</html>
如果不显示的时候应该没问题,但是如果现实的时候,不设置z-index到底这个div和其他元素谁会显示出来
我是需要这个div盖过其他东西的
如果后面的层不是顺序输出,而是设置了z-index的话,那你就给它随便设置个比较大的就可 了。如果后面的层是顺序输出,没有设置z-index的话,就这样就OK。这是我从我项目中直接复制出来的,一直没问题的。
clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。
clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。
offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。
offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。
screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。
screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。
x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标。
y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标。