mui-scroll在顶部添加元素的时候,如何避免自动滚动
比如原来的第一行内容是ABC,这一行的纵坐标是0。
然后要在ABC前面添加一行,内容为XYZ,这时候,ABC的坐标就不是0了,浏览器自动把XYZ显示为第一行,ABC滚动到第二行。
我想达到的效果是ABC仍然显示在屏幕顶部,XYZ在ABC上面但是处于隐藏的位置,需要往下拖动才能看到。
这种效果该怎么做呢,谢谢!
bishuihanshan
- 发布:2017-10-12 10:04
- 更新:2017-10-12 11:51
- 阅读:3526
五叶神 - 世界上没有免费的午餐,也不要有一颗贪婪的心
这是浏览器的默认处理方式,如果想让ABC位置不变只能加入后js重置下滚动条的位置,比如 插入后获取ABC当前的offsetTop(原生js offsetTop获取的是其相对于父级框的top,得for offsetParent一级级获取相加),设置滚动条的高度为ABC距顶部的距离就可以了
mui.scrollTo(offstTopABC,0.1);
//or
mui('#pullrefresh').pullRefresh().scrollTo(0,offstTopABC,0.1);
//因为你是用的mui-scroll滚动的不是window,所以用mui滚动方法,可能还需要减去header的高度,这个你试下就知道了
bishuihanshan (作者)
谢谢,我原来是这么做的,就是添加XYZ后,马上向上滚动XZY的高度。
一般情况下没有问题,但是有时候会有一个滚动的动作,虽然最终也是滚到那个位置。
2017-10-12 14:11
五叶神
0.1是滚动时间,设置为 0.1毫秒基本看不到滚动过程
2017-10-12 14:20
五叶神
我测试了下没有问题
2017-10-12 14:20