При скроле html.scrollTop в IE и Edge всегда 0
Здравствуйте специалисты по высокоуровневому JS!
Вот кусок кода: $(document).scroll(function(){ var $DOK = document.querySelector("html"); var $DOKscrollTop = $DOK.scrollTop; /*Проблема с этой переменной*/ console.log( "DOKscrollTop " + $DOKscrollTop ); }); Проблема: при скроле свойство scrollTop в IE и Edge всегда равно 0. В Chrome и FireFox - все хорошо. Может у меня DOCTYPE не такой как надо? На всякий случай привожу пример, который пилю: http://test.oneprimus.com/ Всех с наступающим! |
VasyOK,
Получение текущей прокрутки |
В IE document.body.scrollTop
|
Форумчане, спасибо за ответы!
В коде сверху заменил var $DOKscrollTop = window.pageYOffset || document.documentElement.scrollTop; И всё заработало (вроде бы). А что тут обозначает знак "||" ? Я понимаю, что это логический оператор, но не понимаю логику. laimas, если $DOKscrollTop = document.body.scrollTop;- тогда наоборот работает только в IE/Edge |
Цитата:
Цитата:
и window.pageYOffset || document.documentElement.scrollTop; как раз вернет свойство document.documentElement.scrollTop в IE, так как в нем свойства window.pageYOffset нет, а для иных window.pageYOffset так как оно есть, не обращаясь даже к тому, что описано после ИЛИ. |
|| - понятно
А можно как-то самоcтоятельно узнать о свойствах window.pageYOffset и document.documentElement.scrollTop ? не вижу их в Веб инспекторе. "scrollTop" - я увидел, когда нажал на тег <html> - показать свойства DOM а эти как увидеть? |
Часовой пояс GMT +3, время: 14:45. |