0

我有一个表格和一个 div,我想使用 position() 将 div 相对于表格单元格定位:

var td1= $('#td1');
$("#Div1").position( { of: td1, my: 'left top', at: 'left top', offset: '0 5'} );

如果 td1 在窗口内(没有水平滚动),则 div 放置正确。但是,如果表格比窗口宽,则 div 放置错误(向左推) - position().top 是正确的,但 position().left 是这样的,div 将完全位于窗口内。我试图将表格放在宽度足够大(比窗口宽)的 div 中,但我仍然看到相同的行为。

关于如何相对于窗口外的元素正确定位 div 的任何建议?

4

1 回答 1

0

似乎 jQuery UI 只允许使用该collision属性“拟合”窗口内的定位元素。您可以在没有 jQuery UI 的情况下拥有相同的功能,只需使用.css.offset。这是一个演示:http: //jsfiddle.net/imsky/XtV4K/

保持 div 在视图中的 jQuery UI 版本(尽管不在确切位置):

$(this).position({
            of: $("#td1"),
            my: "left top",
            at: "left top",
            offset: "0 5",
            collision: "fit"
        })

将 div 准确保留在需要的位置的 jQuery 版本:

 $(this).css({
            left: $("#td2").offset().left + "px",
            top: $("#td2").offset().top + 5 + "px"
        });
于 2012-05-25T16:35:42.660 回答