求一个js侦听滚动结束的事件,jquery mobile有这事件吗?

黒之染
  • 3.1k

是要做这个页面(pc用手机屏幕大小的窗口打开)http://wdzj1314.com/mobile/public/funny_statistics/funny_statistics.html
想要上下滚动后自动滚动到刚好合适的一页,现在用的是我自己写的,但是有的安卓并不支持我那个...

我现在的做法是每一页的长宽都等于窗口长宽,然后用自带的滚动,监听scroll事件,发现滚动停止了就让它滚动到最接近的页面。

问题在于,找不到一个兼容比较好的监听滚动停止的事件。

回复
阅读 8.3k
3 个回答
✓ 已被采纳

额,感谢上面两位的解答,我发现有一个了,就是jquery mobile的scrollstop,文档在这http://api.jquerymobile.com/category/events/

兼容性还蛮好,比我自己写的要强,晚些有时间研究一下他做了什么

jquery.fullPage.min.js 这个插件可以实现一屏一屏的滚动

好像直接监听滚动结束的事件还真没有吧,不过好像可以换个方式来模拟这个,比如可以在onscroll中设定一个timer延迟执行scroll事件中的操作。

当有新的scroll事件触发时,刷新这个timer。
如果在一定时间内没有触发新的scroll事件,则会执行相应的操作。

应该是这么个意思吧?

大神轻喷,回头有时间我自己写一写去。


类似这样?

var timer;

window.onscroll=function(){
    if(timer)
    clearTimeout(timer)
    
    timer = setTimeout(function(){
        console.log('scrolling ends..')
        //TODO some codes here
    },1000)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏