小程序------点击滚动到目标指定区域

SelectorQuery wx.createSelectorQuery()

基础库 1.4.0 开始支持,低版本需做兼容处理

以 Promise 风格 调用:不支持

小程序插件:支持,需要小程序基础库版本不低于 1.9.6

返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 this.createSelectorQuery() 来代替。

返回值

SelectorQuery

示例代码

const query = wx.createSelectorQuery()
query.select('#the-id').boundingClientRect()
query.selectViewport().scrollOffset()
query.exec(function(res){
  res[0].top       // #the-id节点的上边界坐标
  res[1].scrollTop // 显示区域的竖直滚动位置
})

 实际运用:

<view class="box1" bindtap="toComment">查看答案</view>
 //....其他内容
<view class="box2" id="comment">回答</view>
toComment(e) {
    var query = wx.createSelectorQuery() //创建节点查询器
    
    query.selectViewport().scrollOffset(); //节点的竖直滚动位置
    query.select('#comment').boundingClientRect() //动态获取id
    query.exec(function (res) { //执行请求
      wx.pageScrollTo({
        scrollTop: res[0].scrollTop + res[1].top, //滚动到页面节点的上边界坐标
        duration: 400 // 滚动动画的时长
      });
    })
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值