ionic开发——获取ion-scroll滚动条的滚动值

在ionic 开发中,当我用到ion-scroll这个可以滚动的容器的时候,如果我们想要获取到滚动条已经滚动的距离,在android和ios设备上是不一样的,可以通过下面的方法来获取


在android上,我可以直接给ion-scroll一个id="myscroll",

垂直滚动值:document.getElementById("myscroll").scrollTop;
水平滚动值:document.getElementById("myscroll").scrollLeft;

但是在ios上,这种方法就不管用了,你获取的值一直都是0;

我们可以打开chrome的开发者工具来查看,ios上使用ion-scroll标签下会自动生成一个标签

<div class="scroll" style="transform: translate3d(0px, 0px, 0px) scale(1);"></div>

我们可以通过下面的方法来获取

var nowTransform = $("#myscroll .scroll")[0].style.transform;
var startIndex = nowTransform.indexOf('(')+1;
var endIndex = nowTransform.indexOf(')');
var nowTranslate = nowTransform.substring(startIndex,endIndex);
var translateArr = nowTranslate.split(",");
水平滚动值:translateArr[0];
垂直滚动值:translateArr[1];

综合处理方法为:

var myScrollTop,myScrollLeft;
if($("#myscroll .scroll")[0].style.transform){                   //ios
	var endIndex = nowTransform.indexOf(')');
	var nowTranslate = nowTransform.substring(startIndex,endIndex);
	var translateArr = nowTranslate.split(",");
	myScrollLeft=translateArr[0];
	myScrollTop=translateArr[1];
}else{//android
	myScrollTop =document.getElementById("myscroll").scrollTop;
	myScrollLeft =document.getElementById("myscroll").scrollLeft;  
}




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mickey_于浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值