Делает jQuery смещение (); работать на тд клетках? - PullRequest
3 голосов
/ 21 мая 2011

Я пытаюсь, чтобы всплывающая подсказка была чуть-чуть слева от пары ячеек td в таблице:

$('table.seafood td.prod4').hover(function() {
    var offset = $(this).offset();
    $("div.peekSeafood4").fadeIn(200);
    $("div.peekSeafood4").css('left', offset.left + 'px');
}, function() {
    $("div.peekSeafood4").fadeOut(200);
});

Это не работает, выбрасывая всплывающие подсказки далекосторона экрана.

Не работает ли offset(); с ячейками / таблицами td?

1 Ответ

2 голосов
/ 21 мая 2011

Да, offset() работает с ячейками таблицы. Эта демонстрация покажет вам, как она работает на самом базовом уровне.

Я подозреваю, что проблема заключается в $("div.peekSeafood4"), который будет расположен относительно его элемента offsetParent - вам может потребоваться убедиться, что offsetParent для соответствующего элемента является элементом <body>.

Как указывалось ранее @patrick_dw, существует также вероятность того, что position() даст вам правильные результаты, в зависимости от того, где в DOM размещено всплывающее окно с подсказкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...