# better-scroll
**Repository Path**: mirrors/better-scroll
## Basic Information
- **Project Name**: better-scroll
- **Description**: BetterScroll 是一款重点解决移动端各种滚动场景需求的开源插件,适用于滚动列表、选择器、轮播图、索引列表、开屏引导等应用场景
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 78
- **Forks**: 18
- **Created**: 2017-10-11
- **Last Updated**: 2025-08-02
## Categories & Tags
**Categories**: webui
**Tags**: None
## README
# better-scroll
[](https://www.npmjs.com/package/better-scroll) [](https://www.npmjs.com/package/better-scroll) [](https://travis-ci.org/ustbhuangyi/better-scroll) [](http://packagequality.com/#?package=better-scroll) [](http://codecov.io/github/ustbhuangyi/better-scroll)
[1.x Docs](https://better-scroll.github.io/docs-v1/)
[2.x Docs](https://better-scroll.github.io/docs/zh-CN/)
> **注意**:1.x 的代码已经不维护,请尽早升级版本。
# puppeteer 安装
BetterScroll 依赖 puppeteer,在国内下载 puppeteer 容易失败,可以设置 puppeteer 的淘宝镜像。
```sh
PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors yarn
```
# 安装
```bash
npm install better-scroll -S # 安装带有所有插件的 BetterScroll
npm install @better-scroll/core # 核心滚动,大部分情况可能只需要一个简单的滚动
```
```js
import BetterScroll from 'better-scroll'
let bs = new BetterScroll('.wrapper', {
movable: true,
zoom: true
})
import BScroll from '@better-scroll/core'
let bs = new BScroll('.wrapper', {})
```
# CDN
带有所有插件的 BetterScroll
```js
// minify
let wrapper = document.getElementById("wrapper")
let bs = BetterScroll.createBScroll(wrapper, {})
```
不带有任何插件的 CoreScroll
```js
// minify
let wrapper = document.getElementById("wrapper")
let bs = new BScroll(wrapper, {})
```
# BetterScroll 是什么
BetterScroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件。它的核心是借鉴的 [iscroll](https://github.com/cubiq/iscroll) 的实现,它的 API 设计基本兼容 iscroll,在 iscroll 的基础上又扩展了一些 feature 以及做了一些性能优化。
BetterScroll 是使用纯 JavaScript 实现的,这意味着它是无依赖的。
## 起步
BetterScroll 最常见的应用场景是列表滚动,我们来看一下它的 html 结构。
```html