невозможно получить количество прокручиваемых пикселей из console.log (document.documentElement.scrollLeft). Возврат всегда 0 в Chrome - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь записать количество пикселей, которые мой корневой элемент (или страница) прокручивает влево с помощью root.scrollLeft, но каждый раз, когда я прокручиваю и обновляю, scrollLeft возвращает 0. Означает ли это, что у моего корневого элемента нет переполнения илиscrollLeft как-то устанавливается на значение меньше 0? Если возможно, как я смогу получить сумму прокрутки? Благодарю.

1 Ответ

0 голосов
/ 06 ноября 2019

Не на 100% уверен, что это именно то, что вам нужно, поскольку вы не опубликовали образец кода.

Я предполагаю, что вы хотите получить значение x, y для пикселя внутри элемента, который вы 'повторяю прокрутку внутри. Ниже приведена скрипка, которая этого добьется. Дайте мне знать, если вы этого хотите.

https://jsfiddle.net/mq8p6wsa/11/

JS / CSS / HTML

let theScrollElement = document.getElementById("divId");
theScrollElement.onscroll = getScroll;

function getScroll() {
  var elmnt = document.getElementById("divId");
  var x = elmnt.scrollLeft;
  var y = elmnt.scrollTop;
  document.getElementById ("test").innerHTML = "Horizontal: " + x + "px<br>Vertical: " + y + "px";
}
#divId {
  height: 300px;
  width: 300px;
  overflow: auto;
}

#content {
  height: 1600px;
  width: 2000px;
  background-color: grey;
}
<!DOCTYPE html>
<html>
<head>
<style>

</style>
</head>
<body>

<p>Display Pixels.</p>

<div id="divId">
  <div id="content">Scroll Here!</div>
</div>

<p id="test"></p>

</body>
</html>
...