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. });  



  • 2021-01-05 15:41:42

    nodejs修改时区

    ​let date = new Date(); date.setHours(date.getHours() + 8);

  • 2021-01-06 23:09:38

    mp3解码器转PCM合并

    首先,为了混合两个音频文件,您需要操纵它们的原始表示;由于MP3文件被压缩,您无法直接访问信号的原始表示.您需要对压缩的MP3流进行解码,以便“理解”您的音频信号的波形,然后可以混合使用.

  • 2021-01-08 16:47:37

    nodejs如何使用fetch

    node 中没有实现 fetch,你可以使用 node-fetch,使得在 node 中也可以使用 fetch.

  • 2021-01-08 16:49:59

    CommonJs 与 ESModule区别

    node中模块导入require是一个内置的函数,因此只有在运行后我们才可以得知模块导出内容,无法做静态分析