<html>
  <head>
    <script>
      function isElementInViewport(el) {
        var top = el.offsetTop;
        var left = el.offsetLeft;
        var width = el.offsetWidth;
        var height = el.offsetHeight;

        while (el.offsetParent) {
          el = el.offsetParent;
          top += el.offsetTop;
          left += el.offsetLeft;
        }

        return (
          top < (window.pageYOffset + window.innerHeight) &&
          left < (window.pageXOffset + window.innerWidth) &&
          (top + height) > window.pageYOffset &&
          (left + width) > window.pageXOffset
        );
      }
    </script>
  </head>
  <body>
    <div style="height: 180%; position: relative;">
      <button style="position: absolute;">Top</button>
      <button style="position: absolute; top: 50%;">Center</button>
      <button style="position: absolute; bottom: 0;">Bottom</button>
    </div>
  </body>
</html>