Перемещение Div с прокруткой - PullRequest
12 голосов
/ 11 апреля 2011

Мне нужно переместить div, когда полоса прокрутки перемещается, но нужно использовать чистый javascript, и position: fixed не будет работать с макетом.Оригинальная позиция div относительно чего-то другого.Существует ли простая реализация, использующая и событие, например onScroll, для определения количества пикселей, на которые страница сдвинулась вверх или вниз, и соответственно измените положение элемента div.Диву нужно только двигаться вертикально.Поэтому, если я могу определить, на сколько пикселей переместилась страница, я могу просто добавить или вычесть это к месту расположения div.Любая помощь с благодарностью :-).

1 Ответ

15 голосов
/ 11 апреля 2011
window.onscroll = function (e) {
  var vertical_position = 0;
  if (pageYOffset)//usual
    vertical_position = pageYOffset;
  else if (document.documentElement.clientHeight)//ie
    vertical_position = document.documentElement.scrollTop;
  else if (document.body)//ie quirks
    vertical_position = document.body.scrollTop;

  var your_div = document.getElementById('some_div');
  your_div.top = (vertical_position + 200) + 'px';//200 is arbitrary.. just to show you could now position it how you want
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...