Html 相对于导致事件的字段的div弹出窗口

Html 相对于导致事件的字段的div弹出窗口,html,javascript-events,Html,Javascript Events,关于如何将div弹出窗口置于屏幕中心的问题很多,但我希望将我的div弹出窗口移动到触发JavaScript的字段旁边。如何以绝对div的样式引用onclick事件中字段的位置 我可以将'this'对象传递给我的函数,并更改我的绝对/相对div的左和上,但是我可以如何使用“this”来影响div位置 我可以试试这样的吗 div.style = "top:this.top"; ???如果您正在使用jQuery,您可以尝试 var pos = $(this).position(); $("div

关于如何将
div
弹出窗口置于屏幕中心的问题很多,但我希望将我的
div
弹出窗口
移动到触发JavaScript的字段旁边。如何以绝对div的样式引用
onclick
事件中字段的位置

我可以将
'this'
对象传递给我的函数,并更改我的
绝对/相对
div
,但是我可以如何使用“
this”
来影响
div
位置

我可以试试这样的吗

div.style = "top:this.top";

???

如果您正在使用jQuery,您可以尝试

 var pos = $(this).position();
 $("div#divid").css('top',pos.top).css('left',pos.left);
如果你想使用纯javascript,你可以试试

var div = document.getElementById("divid");
div.style.top = this.offsetTop;
div.style.left = this.offsetLeft;
对于jQuery使用.position还是.offset,对于javascript使用offsetTop/Left clientTop/Left,取决于这两个元素是否具有相同的父元素


使用jQuery的快速演示:

用于良好的测量这是一个多么精彩的示例。但这只有在按钮也被定义为绝对时才有效。在我们的情况下,它们不是。按钮位于内联位置。如果按钮位于相对位置或静态位置,则按钮也可以工作。函数的作用是:返回所需的屏幕位置。按钮6和7是相对位置的,而按钮8是静态的。按钮8在被div#buttons覆盖时不起作用,因为它从未接收到click事件,所以它的处理程序没有被调用。