Я надеюсь найти способ получить текущее положение видимого окна (относительно общей ширины / высоты страницы), чтобы использовать его для принудительной прокрутки из одного раздела в другой. Тем не менее, кажется, что есть огромное количество вариантов, когда нужно угадать, какой объект соответствует истинному X / Y для вашего браузера.
Что из этого мне нужно, чтобы убедиться, что IE 6+, FF 2+ и Chrome / Safari работают?
window.innerWidth
window.innerHeight
window.pageXOffset
window.pageYOffset
document.documentElement.clientWidth
document.documentElement.clientHeight
document.documentElement.scrollLeft
document.documentElement.scrollTop
document.body.clientWidth
document.body.clientHeight
document.body.scrollLeft
document.body.scrollTop
И есть ли другие? Как только я узнаю, где находится окно, я могу установить цепочку событий, которая будет медленно вызываться, window.scrollBy(x,y);
пока не достигнет желаемой точки.
источник
jQuery.fn.offset()
.scrollTop()
/scrollLeft()
делать в основном то же самое, но не вычитать clientTop / clientLeft.Может быть, проще;
Кредиты: so.dom.js # L492
источник
document.documentElement.scrollTop
который работает везде.Используя чистый JavaScript, вы можете использовать Window.scrollX и Window.scrollY
Ноты
Вот быстрое демо
источник
window.pageYOffset
источник