现在的需求是当屏幕滚动到一定高度的时候,让某些元素固定在屏幕顶部,所以需要对屏幕滚动事件进行监听。
pc端可以用window.onscroll,但是这个在移动端完全没作用。我用touchmove试了一下,当手指触摸屏幕的时候确实可以,但是当手指离开屏幕,屏幕靠惯性滚动的时候就触发不了事件了。
请问各位,有没有好的思路或者办法,或者以前处理这种问题的经验?
非常感谢。
现在的需求是当屏幕滚动到一定高度的时候,让某些元素固定在屏幕顶部,所以需要对屏幕滚动事件进行监听。
pc端可以用window.onscroll,但是这个在移动端完全没作用。我用touchmove试了一下,当手指触摸屏幕的时候确实可以,但是当手指离开屏幕,屏幕靠惯性滚动的时候就触发不了事件了。
请问各位,有没有好的思路或者办法,或者以前处理这种问题的经验?
非常感谢。
先说声抱歉,我没有看清楚题目,这里重新更新了,题主的问题是 当屏幕滚动到一定高度的时候,让某些元素固定在屏幕顶部,所以需要对屏幕滚动事件进行监听
我给的解决方案,还是用touch事件来处理,这样你应该懂了
$('body').bind('touchmove', function(e) {
e.preventdefault(); //禁用默认滚动行为,需要自己实现滚动
console.log($(this).scrollTop()); // 计算你的屏幕高度
});
这样的话就不存在惯性滚动,但是需要自己实现滚动比较麻烦,另外要注意下touchmove的触发滚动频率,建议使用函数节流
移动端还真没有onscroll事件,除非是自己实现
不过你要实现元素固定顶部,不一定要监听onscroll事件吧,fixed去了解下,或者干脆看看bootstrap是怎么实现的