javascript div定位

javascript div定位,javascript,html,Javascript,Html,我用这个脚本在鼠标上方显示一个弹出的图像。我面临的困难是,它不能很好地定位在不同的显示器上。这一定与决心有关 function LargeImage(obj, e) { var imgbtn=document.getElementById('<%=imgbtn1.ClientID%>'); imgbtn.src=obj;//source of the image document.getElementById('imgbox').style.visibility="v

我用这个脚本在鼠标上方显示一个弹出的图像。我面临的困难是,它不能很好地定位在不同的显示器上。这一定与决心有关

function LargeImage(obj, e)
{
  var imgbtn=document.getElementById('<%=imgbtn1.ClientID%>');  
  imgbtn.src=obj;//source of the image
  document.getElementById('imgbox').style.visibility="visible";
  document.getElementById('imgbox').style.position="absolute";
  document.getElementById('imgbox').style.left=e.clientX-150 + "px";
  document.getElementById('imgbox').style.top=225 +"px"; 
} 

<div id="imgbox"><asp:imagebutton id="imgbtn1" runat="server" OnClick="ImageButton4_Click"/></div>
函数大图像(obj,e)
{
var imgbtn=document.getElementById(“”);
imgbtn.src=obj;//图像的源
document.getElementById('imgbox').style.visibility=“visible”;
document.getElementById('imgbox').style.position=“绝对”;
document.getElementById('imgbox').style.left=e.clientX-150+“px”;
document.getElementById('imgbox').style.top=225+“px”;
} 

谢谢。

您看起来像是在修改
imgbox
div的样式,以便
left
位置位于光标左侧150px,但
top
位置距离其容器顶部仅225px(可能)

top
样式是否也应该与光标相关


此外,我们无法从您发布的代码中看到何时或如何调用您的函数。我们也没有
imgbox
元素的上下文。更多信息会很有用。

您看起来像是在修改
imgbox
div的样式,以便
左侧的位置是光标左侧的150px,但是
顶部的位置(可能)距离容器顶部只有225px

top
样式是否也应该与光标相关

此外,我们无法从您发布的代码中看到何时或如何调用您的函数。我们也没有
imgbox
元素的上下文。更多信息会很有用。

您可以这样做

document.getElementById('imgbox').style.position="fixed";
document.getElementById('imgbox').style.left=e.clientX + "px";
document.getElementById('imgbox').style.top= e.clientY + "px"; 
这将在窗口中的鼠标位置显示图片(如果用户滚动,弹出窗口将保持不变)

否则,您需要补偿文档滚动,比如

编辑:修复滚动值(对于firefox)

您可以在这里找到一个演示,该演示确定通过浏览器读取滚动偏移量的属性 你可以这样做

document.getElementById('imgbox').style.position="fixed";
document.getElementById('imgbox').style.left=e.clientX + "px";
document.getElementById('imgbox').style.top= e.clientY + "px"; 
这将在窗口中的鼠标位置显示图片(如果用户滚动,弹出窗口将保持不变)

否则,您需要补偿文档滚动,比如

编辑:修复滚动值(对于firefox)

您可以在这里找到一个演示,该演示确定通过浏览器读取滚动偏移量的属性

您希望它在哪里结束,而不是以不同的分辨率结束?Ikke很乐意为您修复这一个,但为了将来的参考,请仔细阅读您的代码格式:(这是编辑框上方[?]图标的链接,用于提问。)有什么问题?它不会出现在鼠标指针附近吗?我可以想象y值的情况会是这样,因为您正在将其硬编码为225 px,用户可能会在屏幕下单击更远的位置。您希望它最终在哪里,而不是以不同的分辨率结束?Ikke很乐意为您修复此问题,但为了将来的参考,请阅读有关代码格式的内容:(这是问题编辑框上方[?]图标的链接。)问题是什么?它没有显示在鼠标指针附近?我可以想象y值的情况是这样的,因为您正在将其硬编码为225 px,用户可能会在屏幕下点击更远的位置。在第一个脚本中,如果用户如您所述滚动,弹出窗口将保持。第二个脚本对我来说运行不正常。在第一个脚本中,t如果用户如您所述滚动,则弹出窗口将保留。第二个脚本对我来说运行不正常。。