---
name: "NodesRef.scrollOffset"
mode: "api"
versionRequirements:
  - { name: "Base Library", version: "2.10.0" }
title: "NodesRef.scrollOffset - Add a query request for the scroll position of a node"
---

## NodesRef.scrollOffset

> [VERSION] Base Library >= 2.10.0

### Description

Add a query request for the node's scroll position, in pixels. The node must be a scroll-view or the viewport

### Parameters

`Params`

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `e` | `any` | Yes | Callback function; receives the node’s scroll information (id, dataset, scrollLeft, scrollTop). |

### Return Value

Type: `SelectorQuery`

SelectorQuery object

### Examples

#### Get scroll position

```html
// index.tyml
<scroll-view scroll-y="{{true}}" id="scroller" class="scroll">
  <view ty:for="{{list}}" ty:key="*this" class="row">{{item}}</view>
</scroll-view>
<button bind:tap="getScrollOffset">Get scroll position</button>
```

```js
// index.js
Page({
  data: {
    list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  },
  getScrollOffset() {
    ty.createSelectorQuery()
      .selectViewport()
      .scrollOffset((res) => {
        console.log('Scroll position', res.scrollTop, res.scrollLeft);
      })
      .exec();
  },
});
```

```css
// index.tyss
.scroll {
  height: 400rpx;
}
.row {
  height: 80rpx;
  line-height: 80rpx;
  border-bottom: 1rpx solid #eee;
  padding-left: 20rpx;
}
```
