Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   При скроле html.scrollTop в IE и Edge всегда 0 (https://javascript.ru/forum/events/76334-pri-skrole-html-scrolltop-v-ie-i-edge-vsegda-0-a.html)

VasyOK 31.12.2018 11:14

При скроле 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/



Всех с наступающим!

рони 31.12.2018 11:28

VasyOK,
Получение текущей прокрутки

laimas 31.12.2018 11:29

В IE document.body.scrollTop

VasyOK 04.01.2019 03:59

Форумчане, спасибо за ответы!

В коде сверху заменил
var $DOKscrollTop = window.pageYOffset || document.documentElement.scrollTop;

И всё заработало (вроде бы). А что тут обозначает знак "||" ? Я понимаю, что это логический оператор, но не понимаю логику.

laimas, если
$DOKscrollTop = document.body.scrollTop;
- тогда наоборот работает только в IE/Edge

laimas 04.01.2019 04:27

Цитата:

Сообщение от VasyOK
работает только в IE/Edge

Цитата:

Сообщение от VasyOK
не понимаю логику


и

window.pageYOffset || document.documentElement.scrollTop;

как раз вернет свойство document.documentElement.scrollTop в IE, так как в нем свойства window.pageYOffset нет, а для иных window.pageYOffset так как оно есть, не обращаясь даже к тому, что описано после ИЛИ.

VasyOK 05.01.2019 09:17

|| - понятно

А можно как-то самоcтоятельно узнать о свойствах
window.pageYOffset
и
document.documentElement.scrollTop
?

не вижу их в Веб инспекторе.
"scrollTop" - я увидел, когда нажал на тег <html> - показать свойства DOM
а эти как увидеть?


Часовой пояс GMT +3, время: 14:45.