---
name: "pageScrollTo"
mode: "api"
versionRequirements:
  - { name: "基础库", version: "2.10.0" }
title: "ty.pageScrollTo - 将页面滚动到目标位置，支持选择器和滚动距离两种方式定位"
---

## pageScrollTo

> [VERSION] 基础库 >= 2.10.0

### 描述

将页面滚动到目标位置，支持选择器和滚动距离两种方式定位

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `options` | `PageScrollToOption` | 是 | 滚动配置 |

### 返回值

无


### 引用对象

##### `interface` PageScrollToOption

| 属性 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `scrollTop` | `number` | 否 | 滚动到页面的目标位置，单位 px |
| `duration` | `number` | 否 | 滚动动画的时长，单位 ms |
| `selector` | `string` | 否 | 选择器 |
| `success` | `(result: PageScrollToResult) => void` | 否 | 接口调用成功的回调函数 |
| `fail` | `(result: PageScrollToResult) => void` | 否 | 接口调用失败的回调函数 |
| `complete` | `(result: PageScrollToResult) => void` | 否 | 接口调用结束的回调函数（调用成功、失败都会执行） |

##### `type` PageScrollToResult

| 属性 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `errMsg` | `"pageScrollTo:ok" \| "pageScrollTo:fail"` | 是 | 回调结果信息 |


### 示例代码

#### 滚动到指定位置

```ts
Page({
  handleScrollToTop() {
    ty.pageScrollTo({
      scrollTop: 0,
      duration: 300,
      success(res) {
        console.log('滚动成功', res.errMsg);
      },
    });
  },
});
```

#### 使用选择器滚动

```ts
Page({
  handleScrollToElement() {
    ty.pageScrollTo({
      scrollTop: 200,
      duration: 500,
      selector: '#my-scroll-view',
      success(res) {
        console.log('滚动成功', res.errMsg);
      },
      fail(res) {
        console.error('滚动失败', res.errMsg);
      },
    });
  },
});
```


## selector 语法

selector 类似于 CSS 的选择器，但仅支持下列语法：

- ID 选择器：`#the-id`
- class 选择器（可以连续指定多个）：`.a-class.another-class`
- 后代选择器：`.the-ancestor .the-descendant`
