scroll时判断向下滚动还是向上滚动

2017-07-28 12:02:53

有时候需要用到,判断页面是向上还是向下滚动了,兼容比较低版本的浏览器如IE6、7等。 

原理:拿当前的scrollTop和之前的scrollTop对比 
如果变大了,表示向下滚动(scrollTop值变大); 
如果变小了,表示向上滚动(scrollTop值变小)。 

难点是理解setTimeout=0时的运行机制。 

Js代码  收藏代码

  1. $(document).ready(function(){  

  2.     var p=0,t=0;  

  3.   

  4.     $(window).scroll(function(e){  

  5.             p = $(this).scrollTop();  

  6.               

  7.             if(t<=p){//下滚  

  8.                 .......  

  9.             }  

  10.               

  11.             else{//上滚  

  12.                 .......  

  13.             }  

  14.             setTimeout(function(){t = p;},0);         

  15.     });  

  16. });  



  • 2020-02-07 23:46:44

    You must call removeView() on the child's parent first解决办法

    出现这样的情况最多是发生在recyclerView中,holder复用的过程中,多次添加view,第一次添加的时候view有了父类了,可能就是复用引起的。 我是发生在给recyclerView添加广告view的时候发生的。

  • 2020-02-11 17:43:35

    基于VCamera,仿微信录制短视频

    vcamera.so这个确实挺好用,可定制性也挺高,但是确定也不小,需要引入的这个so包,10M啊。对于安装包苛刻的用户,这是致命啊。 我现在是抛弃他了。但是在这里还是记录一下用法吧。防止以后再用他。

  • 2020-02-13 13:37:53

    mysql随机排序

    首页热门栏目需要随机显示几条信息

  • 2020-02-14 20:08:17

    Android-应用被作为第三方浏览器打开

    微信里的文章页面,可以选择“在浏览器打开”。现在很多应用都内嵌了WebView,那是否可以使自己的应用作为第三方浏览器打开此文章呢?