<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css">
  </head>

  <body>
    <h1>getBoundingClientRect scroll issue</h1>
    
    <div id="viewport">
      <p id="test">1</p>
      <p>2</p>
      <p>3</p>
      <p>4</p>
      <p>5</p>
      <p>6</p>
      <p>7</p>
      <p>8</p>
      <p>9</p>
      <p>10</p>
    </div>
    
    <script src="script.js"></script>
  </body>

</html>
// Code goes here

const viewport = document.getElementById('viewport');
const test = document.getElementById('test');

const scrollHandler = () => {
  setTimeout(() => {
    const params = test.getBoundingClientRect();
    const top = params.top;
    console.log(top);
    console.log('...');
  });
};

viewport.addEventListener('scroll', scrollHandler);
/* Styles go here */


#viewport {
  overflow-y: scroll;
  height: 200px;
}

#viewport p {
  margin: 0;
  padding: 0;
  height: 50px;
}