2012-05-25 26 views
0

我有一個表和一個div和我希望相對於表格單元格的格當前位置,使用位置():的jquery - 現在的位置是相對於所述窗口之外的元件

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的任何建議也相對於窗口外的元素?

+0

你可以發佈你的HTML或jsFiddle嗎? – j08691

回答

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" 
     }) 

jQuery的版本,保持股利正是需要:

$(this).css({ 
      left: $("#td2").offset().left + "px", 
      top: $("#td2").offset().top + 5 + "px" 
     }); 
相關問題