bishuihanshan
bishuihanshan
  • 发布:2017-10-12 10:04
  • 更新:2017-10-12 11:51
  • 阅读:3373

mui-scroll在顶部添加元素的时候,如何避免自动滚动

分类:MUI

mui-scroll在顶部添加元素的时候,如何避免自动滚动
比如原来的第一行内容是ABC,这一行的纵坐标是0。
然后要在ABC前面添加一行,内容为XYZ,这时候,ABC的坐标就不是0了,浏览器自动把XYZ显示为第一行,ABC滚动到第二行。
我想达到的效果是ABC仍然显示在屏幕顶部,XYZ在ABC上面但是处于隐藏的位置,需要往下拖动才能看到。
这种效果该怎么做呢,谢谢!

2017-10-12 10:04 负责人:无 分享
已邀请:
五叶神

五叶神 - 世界上没有免费的午餐,也不要有一颗贪婪的心

这是浏览器的默认处理方式,如果想让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

该问题目前已经被锁定, 无法添加新回复