Использование jquery scrollTop для позиционирования абсолютного Div - PullRequest
0 голосов
/ 16 мая 2010

Я пытаюсь разместить Absolute DIV с помощью Jquery, в зависимости от того, где пользователь нажимает на страницу.

На данный момент это прекрасно работает

$('#window').css('left', jsEvent.pageX);
$('#window').css('top', jsEvent.pageY);

Это позиционирует элемент именно там, где моя мышь щелкала по экрану ...

Пока вы не прокрутите это вниз. Вот почему я пытаюсь добиться чего-то, что будет учитывать количество пикселей в верхней части страницы. Я думал, что-то вроде этого ...

$('#window').css('top', jsEvent.pageY + scrollTop());

справится, к сожалению, это не сработает.

Любые намеки?

Спасибо

Тим

1 Ответ

1 голос
/ 16 мая 2010

Это определенно работает в Firefox. Таким образом, он должен работать в Chrome, Safari и Opera. IE, однако, я не совсем уверен. Дайте ему шанс.

$('#window').css({
    left: e.clientX
    , top: e.clientY + document.documentElement.scrollTop
});

РЕДАКТИРОВАТЬ: эта новая версия должна работать в большинстве, если не во всех браузерах.

var rxp = /webkit/gi;

$('#window').css({
   left: e.clientX
   , top: e.clientY + rxp.test(window.navigator.userAgent) ? document.body.scrollTop : document.documentElement.scrollTop
}); 
...