我有一个表和一个div,我想使用position()来定位相对于表格单元格的div:
var td1= $('#td1');
$("#Div1").position( { of: td1, my: 'left top', at: 'left top', offset: '0 5'} );
如果td1在窗口内(没有水平滚动),则正确放置div。但是,如果表格比窗口宽,则div被错误地放置(向左推) - 位置()。顶部是正确的,但是position()。left使得div完全在窗口内。我试图将表放在一个宽度足够大的div(比窗口宽)中,但我仍然看到相同的行为。
关于如何正确地相对于窗口外的元素正确定位div的任何建议?
答案 0 :(得分:0)
似乎jQuery UI只允许使用collision
属性“匹配”窗口内的定位元素。只需使用.css
和.offset
,您就可以在没有jQuery UI的情况下使用相同的功能。这是一个演示:http://jsfiddle.net/imsky/XtV4K/
jQuery UI版本将div保持在视图中(虽然不在确切的位置):
$(this).position({
of: $("#td1"),
my: "left top",
at: "left top",
offset: "0 5",
collision: "fit"
})
jQuery版本将div保持在所需的位置:
$(this).css({
left: $("#td2").offset().left + "px",
top: $("#td2").offset().top + 5 + "px"
});