Для некоторых страниц document.body.scrollTop возвращает 0, вы можете понять почему?body.scrollTop возвращает 0 для некоторых сайтов
Например, https://signup.live.com/signup.aspx
Для некоторых страниц document.body.scrollTop возвращает 0, вы можете понять почему?body.scrollTop возвращает 0 для некоторых сайтов
Например, https://signup.live.com/signup.aspx
Как почему scrollTop
из <body>
остается на 0
, это потому, что <body>
не элемент, который имеет прокрутки содержимого.
Это было бы вместо этого <div id="c_base" class="c_base" ...>
в пределах страницы:
console.log(document.getElementById('c_base').scrollTop);
// e.g., 500
Этот элемент является positioned для заполнения окна просмотра и имеет vertical overflow позволяет его содержимое прокручиваться.
html.fh .c_base {
overflow-y: auto;
overflow-x: visible;
position: absolute;
/* ... */
}
Хорошо, первый, просто для ясности, scrollTop
это свойство, а не метод, поэтому он ничего не возвращает. Это является0
.
Это происходит, когда нет вертикальной полосы прокрутки (т. Е. Весь контент соответствует странице дисплея), или полоса прокрутки уже находится в верхней части элемента.
См: https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollTop
Благодарим вас за разъяснение! Может быть, вы можете дать предложение, возможно ли получить положение прокрутки на такой странице, не проверяя код? – user3763845