H5移动端自定义滚动条

项目还是用angularJs + ionic1.0做的。为什么要自定义滚动条呢?
原因:IOS 自带的触摸事件导致页面上线滑动有空白。所以禁掉了默认的滑动事件:
if(ionic.Platfrom.isIOS()){
document.querySelector('body').addEventListener('touchmove',function(event){
event.preventDefault();
});
结果:导致IOS里面 的ul li 标签页无法滑动了。但是android 倒是可以滑动却没有滚动条,给ul 外出div 设置overflow:atuo;overflow-y:atuo;都没有用。
解决:用ion-scroll代替 ul ,这时候android ios 都可以滑动了,也都有滚动条了。但是,问题来了。在魅族手机上布局一开始show处理后,滑动ion-scroll 有叠层。如下图:


这兼容性问题 好坑。原因是app底座用了系统的浏览器,没有统一用开源内置浏览器,所以一直以来开发Hybird app兼容问题好蛋疼。

所以只能ios 和android分开实现了。ios用ion-scroll。android 自己给ul写个滚动条。以下代码是按客户要求需要内容多的时候一直显示滚动条的示例
(开始不了解js 有个onscroll 回调 用了 touch事件去做,做不到精准算到布局移动距离。后面debug看到有onscroll回调。布局本身就提供了offsetTop ,这个offsetTop就是滚动条和布局精准的对应。)

if ($scope.timeout) {
    $timeout.
cancel($scope.timeout

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值