某个滚动盒子,指定某子元素滚动到顶部

使用案例
在这里插入图片描述
使选中的节点,始终处于顶部位置

document.getElementById("xxx").scrollTo(0,document.getElementById("子节点id").offsetTop)

document.getElementById(“xxx”) 是含有滚动条的一个元素盒子
document.getElementById(“子节点id”)是该元素盒子的可滚动的子元素,通过.offsetTop可以获取前元素相对于其offsetParent元素的顶部内边距的距离。(具体注意事项请访问offsetTop)

offsetParent 返回一个指向最近的(指包含层级上的最近)包含该元素的定位元素或者最近的 table,td,th,body元素。但是请确保该父元素没有style.display 为 "none" ,或者该元素的 style.position 被设为 "fixed",则该属性返回 null

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现滚动到某个元素并且把该元素置于页面顶部,可以结合使用 `uni.createSelectorQuery()` 和 `uni.pageScrollTo()` 方法。 具体实现步骤如下: 1. 在页面中给要滚动到的元素设置一个唯一的 `id`。 ``` <template> <view> <view id="target">我是要滚动到的元素</view> <button @click="scrollToTarget">滚动到目标元素</button> <!-- 页面内容 --> </view> </template> ``` 2. 在按钮的点击事件中,使用 `uni.createSelectorQuery()` 方法获取目标元素的位置信息。 ``` <script> export default { methods: { scrollToTarget() { uni.createSelectorQuery() .select('#target') .boundingClientRect(rect => { // rect 就是目标元素的位置信息 console.log(rect) }) .exec() } } } </script> ``` 3. 在 `boundingClientRect` 的回调函数中,可以获取到目标元素的位置信息,包括 `top`、`left`、`width`、`height` 等属性。其中 `top` 表示元素顶部距离页面顶部的距离。 4. 使用 `uni.pageScrollTo()` 方法将页面滚动到目标元素的位置,并将目标元素置于页面顶部。 ``` <script> export default { methods: { scrollToTarget() { uni.createSelectorQuery() .select('#target') .boundingClientRect(rect => { uni.pageScrollTo({ scrollTop: rect.top, // 滚动到目标元素的位置 duration: 300 // 滚动动画时间,单位为 ms }) }) .exec() } } } </script> ``` 在 `uni.pageScrollTo()` 方法中,将 `scrollTop` 参数设置为目标元素的 `top` 值即可将目标元素置于页面顶部。注意,`scrollTop` 的单位是 px。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值