如何不断检查是否有div溢出然后滚动到底部

问题描述 投票:1回答:2

我正在创建一个div,它在溢出时会直接移到底部。但是我如何不断检查是否发生了溢出,然后触发将向下滚动到页面底部的函数?

我发现这个功能滚动到底部

 <script type="text/javascript">
  var objDiv = document.getElementsByClassName('container')[0];
   objDiv.scrollTop = objDiv.scrollHeight;
 <script>

以及检查是否有溢出的功能

 <script type="text/javascript">
  function isOverflown(element) {
    return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
     }
  </script>

但是当溢出发生时我该如何经常听?此外,我总是滚动到页面底部后还有一个问题,如果我手动想要在顶部,它会自动滚动到底部。如何防止这种情况?

javascript html css
2个回答
0
投票

对于运行代码继续,您可以使用setInterval函数。它需要两个参数,即回调,以及以毫秒为单位的时间。它始终运行代码,因此您可以将函数放在执行中。

如果内容是动态的,您还可以使用回调来检查渲染后是否应该重新计算。

但是,你为什么要这样做?


0
投票

感谢@Piotr P.我找到了这样做的方法,但现在我无法将其手动滚动到屏幕的其他部分

  setInterval(function(){
      var element = document.getElementsByClassName('container')[0];
      if (element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth) {
        $('#mydiv').animate({
                   scrollTop: $(document).height()
               },
                'slow');
               return false;
      }
    }, 100);
© www.soinside.com 2019 - 2024. All rights reserved.