2012-05-25 2 views
0

У меня есть таблица и DIV и я хочу positon в Див относительно ячеек таблицы, используя положение():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 позволяет только «установить» расположенный элемент внутри окна, используя свойство collision. Вы можете иметь такую ​​же функциональность без jQuery UI, просто используя .css и .offset. Вот демо: 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" 
     }); 
Смежные вопросы