我正在尝试使用jQuery dialog UI库,以便在将对话框悬停在某个文本旁边时将其定位在旁边。jQuery对话框采用一个位置参数,该参数从当前视口的左上角开始测量(换句话说,无论当前滚动到何处,[0, 0]
都会始终将其放在浏览器窗口的左上角)。然而,我所知道的唯一检索位置的方法是元素相对于整个页面的位置。
以下是我目前所拥有的。据计算,position.top
大约为1200左右,这将使对话框远低于页面上的其余内容。
$(".mytext").mouseover(function() {
position = $(this).position();
$("#dialog").dialog('option', 'position', [position.top, position.left]);
}
我怎样才能找到正确的位置?
谢谢!
发布于 2009-04-13 18:41:48
查看对话框的其他实现的一些jQuery插件。Cluetip似乎是一个功能丰富的工具提示/对话框风格的插件。第四个演示听起来和你想要做的很相似(尽管我看到它没有你想要的精确定位选项)。
发布于 2010-07-14 10:40:58
作为替代,您可以使用jQuery UI Position
utility,例如
$(".mytext").mouseover(function() {
var target = $(this);
$("#dialog").dialog("widget").position({
my: 'left',
at: 'right',
of: target
});
}
发布于 2012-03-23 21:59:14
多亏了上面的一些答案,我尝试并最终发现,您所需要做的就是编辑Modal对话框的定义中的"position“属性:
position:['middle',20],
JQuery对水平"X“值的”中间“文本没有问题,我的对话框弹出在中间,从顶部向下20px。
我很喜欢JQuery。
https://stackoverflow.com/questions/744554
复制相似问题