@H_3010@项目背景
@H301_0@webtouch(webapp)页面,防苹果手机safari浏览器,网上滑动,底部导航消失,滑动到底部又出现。向下滑动,底部导航出现。
@H_3010@
遇到问题
@H301_0@1、我一开始用swipeup和swipedown来做,发现因为有滚动条,不会触发。因此只能判断滚动条是上滚下滚等。关于手机手势,后面的文章会介绍,欢迎关注!
@H_301_0@2、通过上滚下滚来让底部导航显示或者因此,安卓上面的浏览器都可以,但是苹果safari会一闪一闪,原因是苹果safari自动有个弹跳效果,导致事件重复执行,解决办法是给上滚下滚一个距离,滚动到一定距离后返回是上滚还是下滚。
@H_301_0@
单纯判断滚动条方向
<div class="jb51code">
<pre class="brush:js;">
function scroll( fn ) {
var beforeScrollTop = document.body.scrollTop,fn = fn || function() {};
window.addEventListener("scroll",function() {
var afterScrollTop = document.body.scrollTop,delta = afterScrollTop - beforeScrollTop;
if( delta === 0 ) return false;
fn( delta > 0 ? "down" : "up" );
beforeScrollTop = afterScrollTop;
},false);
}