我做了个网页,页面已经到底部了,滚动条还可以下拉。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我做了个网页,页面已经到底部了,滚动条还可以下拉。相关的知识,希望对你有一定的参考价值。

我做了个网页,页面已经到底部了,滚动条还可以下拉至少整个网页的二分之一,这是哪里出问题了,如何才能页面到底部,滚动条也到底。

参考技术A 说明你在写div或者body的时候高度写的太高了~不知道你用什么语言写的~但是就是差不多这样子~或者你的底部写了内 底 边距~

下拉加载更多DEMO(js实现)

项目的一个前端页面展示已购买商品时,要求能下拉加载更多。花了点时间研究这个功能,以前没做过。

    首先需要给div加scroll事件,监听滚动条滚动动作。那何时触发加载动作呢?当滚动条滚到底的时候。如何判断滚动条滚到底呢?

    当滚动条的高度加上滚动条到div顶部的高度等于div的可滚动高度时,说明滚动条到底部了。公式如下。

 

[javascript] view plain copy
 
 技术分享技术分享
  1. this.scrollHeight <= $(this).scrollTop() + $(this).height()  


    给出一个能跑的demo,需要引入jquery。

 

 

[javascript] view plain copy
 
 技术分享技术分享
  1. <!DOCTYPE=html>  
  2. <html>  
  3. <head>  
  4. <script src="jquery.js" type="text/javascript"></script>  
  5. </head>  
  6. <body>  
  7.     <div>下拉加载更多</div>  
  8.     <div class="main" style="height:700px;overflow:auto;">  
  9.         <div class="child" style=‘border:1px solid red;margin-top:20px;color:grey;height:800px‘ ></div>  
  10.     </div>  
  11. </body>  
  12. <script  type="text/javascript">  
  13. $(document).ready(function(){  
  14.     $(".main").unbind("scroll").bind("scroll", function(e){  
  15.         var sum = this.scrollHeight;  
  16.         if (sum <= $(this).scrollTop() + $(this).height()) {  
  17.             $(".main").append($(".child").clone());  
  18.         }  
  19.     });  
  20. });  
  21. </script>  
  22. </html>  


    如果等滚动条拉到底部时再加载,会影响用户体验。因为一般动态加载的时候都需要向服务端请求资源,这时需要时间。一个更佳的方式是,当滚动条距离底部一定距离(C)时,就动态加载更多,向服务端请求资源。也就是预加载,预读取。公式如下。

 

 

[javascript] view plain copy
 
 技术分享技术分享
  1. this.scrollHeight - C <= $(this).scrollTop() + $(this).height()  


    一个js功能,最后发现其实是个数学问题。最开始看同事写的类似功能的代码式,十分繁琐。当自己总结完这个公式后,思路立刻清晰了。透过现象看本质。




以上是关于我做了个网页,页面已经到底部了,滚动条还可以下拉。的主要内容,如果未能解决你的问题,请参考以下文章

下拉加载更多内容(滚动加载)

delphi如何判断RichEdit是不是显示到底部了?

如何控制下拉框显示条数

我做了个网页,html+css+js,如何把它与php融合?

前端 平滑滚动到底部/顶部

jsp网页移动滚动条怎么做到头部不动,就中间和下部动?