Skip to content

Commit 12916ae

Browse files
committed
2 parents 436d6f2 + 1d8215f commit 12916ae

File tree

7 files changed

+1140
-1130
lines changed

7 files changed

+1140
-1130
lines changed

README.md

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# better-scroll
22
[![npm](https://img.shields.io/npm/v/better-scroll.svg?style=flat-square)](https://www.npmjs.com/package/better-scroll)
33

4-
inspired by iscroll, and it has a better scroll perfermance
4+
inspired by iscroll, and it has a better scroll perfermance https://ustbhuangyi.github.io/better-scroll/
55

66
## 立即使用
77

@@ -43,7 +43,7 @@ var BScroll = require('better-scroll')
4343
```
4444

4545
## DEMO
46-
better-scroll的源码是基于webpack构建的
46+
better-scroll 的源码是基于 Webpack 构建的
4747

4848
首先,clone项目源码
4949

@@ -86,22 +86,23 @@ Options List:
8686
- scrollY: `true` 滚动方向
8787
- click: `true` 是否启用click事件
8888
- directionLockThreshold: `5`
89-
- momentum: `true` 是否开启动量动画,关闭可以提升效率
89+
- momentum: `true` 是否开启拖动惯性
9090
- bounce: `true` 是否启用弹力动画效果,关掉可以加速
91-
- selectedIndex: `0`
92-
- rotate: `25`
91+
- selectedIndex: `0`
92+
- rotate: `25`
9393
- wheel: `false` 是否监听鼠标滚轮事件
94-
- snap: `false` 自动分割容器,用于制作走马灯效果等
95-
- snapLoop: `false`
96-
- snapThreshold: `0.1`
97-
- swipeTime: `2500`
94+
- snap: `false` 是否开启捕捉元素,当为 true 时,捕捉的元素会根据可滚动的位置和滚动区域计算得到可滑动几页。
95+
- snapLoop: `false` 是否创建当前滚动元素子集的拷贝
96+
- snapThreshold: `0.1` 滑动的长度限制,只有大于这个距离才会触发事件
97+
- swipeTime: `2500` swipe 持续时间
9898
- bounceTime: `700` 弹力动画持续的毫秒数
9999
- adjustTime: `400`
100100
- swipeBounceTime: `1200`
101101
- deceleration: `0.001` 滚动动量减速越大越快,建议不大于0.01
102-
- momentumLimitTime: `300`
103-
- momentumLimitDistance: `15`
102+
- momentumLimitTime: `300` 惯性拖动的回弹时间
103+
- momentumLimitDistance: `15` 惯性拖动的回弹距离
104104
- resizePolling: `60` 重新调整窗口大小时,重新计算better-scroll的时间间隔
105+
- probeType: `1` 监听事件的触发时间,1为即时触发,3为延迟到事件完毕后触发
105106
- preventDefault: `true` 是否阻止默认事件
106107
- preventDefaultException: `{ tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }` 阻止默认事件
107108
- HWCompositing: `true` 是否启用硬件加速
@@ -126,22 +127,28 @@ scroll.on('scroll', (pos) => {
126127

127128
Events 列表
128129

129-
- beforeScrollStart 滚动开始之前触发
130-
- scrollStart 滚动开始时触发
131-
- scroll 滚动时触发
132-
- scrollCancel 取消滚动时触发
133-
- scrollEnd 滚动结束时触发
134-
- flick
135-
- refresh
136-
- destroy 销毁better-scroll实例时触发
130+
- beforeScrollStart - 滚动开始之前触发
131+
- scrollStart - 滚动开始时触发
132+
- scroll - 滚动时触发
133+
- scrollCancel - 取消滚动时触发
134+
- scrollEnd - 滚动结束时触发
135+
- flick - 触发了 fastclick 时的回调函数
136+
- refresh - 当 better-scroll 刷新时触发
137+
- destroy - 销毁 better-scroll 实例时触发
137138

138139

139140
## 派发滚动
140141

142+
- scrollTo(x, y, time, easing)
143+
144+
145+
146+
Example:
147+
141148
```javascript
142149
let scroll = new BScroll(document.getElementById('wrapper'))
143150
scroll.scrollTo(0, 500)
144151
...
145152
```
146153

147-
第一个参数为X轴,第二个参数为Y轴
154+

build/bscroll.js

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ return /******/ (function(modules) { // webpackBootstrap
5858

5959
var _bscroll = __webpack_require__(1);
6060

61-
_bscroll.BScroll.Version = ("0.1.11");
61+
_bscroll.BScroll.Version = ("0.1.12");
6262

6363
module.exports = _bscroll.BScroll;
6464

@@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap
9191
function BScroll(el, options) {
9292
_classCallCheck(this, BScroll);
9393

94-
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(BScroll).call(this));
94+
var _this = _possibleConstructorReturn(this, (BScroll.__proto__ || Object.getPrototypeOf(BScroll)).call(this));
9595

9696
_this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;
9797
_this.scroller = _this.wrapper.children[0];
@@ -718,7 +718,7 @@ return /******/ (function(modules) { // webpackBootstrap
718718
value: function _transitionTime() {
719719
var _this4 = this;
720720

721-
var time = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
721+
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
722722

723723
this.scrollerStyle[_util.style.transitionDuration] = time + 'ms';
724724

@@ -844,8 +844,8 @@ return /******/ (function(modules) { // webpackBootstrap
844844
}, {
845845
key: 'resetPosition',
846846
value: function resetPosition() {
847-
var time = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
848-
var easeing = arguments.length <= 1 || arguments[1] === undefined ? _util.ease.bounce : arguments[1];
847+
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
848+
var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.ease.bounce;
849849

850850
var x = this.x;
851851
if (!this.hasHorizontalScroll || x > 0) {
@@ -880,8 +880,8 @@ return /******/ (function(modules) { // webpackBootstrap
880880
}, {
881881
key: 'scrollBy',
882882
value: function scrollBy(x, y) {
883-
var time = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2];
884-
var easing = arguments.length <= 3 || arguments[3] === undefined ? _util.ease.bounce : arguments[3];
883+
var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
884+
var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _util.ease.bounce;
885885

886886
x = this.x + x;
887887
y = this.y + y;
@@ -891,7 +891,7 @@ return /******/ (function(modules) { // webpackBootstrap
891891
}, {
892892
key: 'scrollTo',
893893
value: function scrollTo(x, y, time) {
894-
var easing = arguments.length <= 3 || arguments[3] === undefined ? _util.ease.bounce : arguments[3];
894+
var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _util.ease.bounce;
895895

896896
this.isInTransition = this.options.useTransition && time > 0 && (x !== this.x || y !== this.y);
897897

@@ -985,7 +985,7 @@ return /******/ (function(modules) { // webpackBootstrap
985985
}, {
986986
key: 'goToPage',
987987
value: function goToPage(x, y, time) {
988-
var easing = arguments.length <= 3 || arguments[3] === undefined ? _util.ease.bounce : arguments[3];
988+
var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _util.ease.bounce;
989989

990990
if (x >= this.pages.length) {
991991
x = this.pages.length - 1;
@@ -1223,7 +1223,7 @@ return /******/ (function(modules) { // webpackBootstrap
12231223
}
12241224

12251225
function addEvent(el, type, fn, capture) {
1226-
el.addEventListener(type, fn, !!capture);
1226+
el.addEventListener(type, fn, { passive: false, capture: !!capture });
12271227
};
12281228

12291229
function removeEvent(el, type, fn, capture) {
@@ -1404,7 +1404,7 @@ return /******/ (function(modules) { // webpackBootstrap
14041404
_createClass(EventEmitter, [{
14051405
key: "on",
14061406
value: function on(type, fn) {
1407-
var context = arguments.length <= 2 || arguments[2] === undefined ? this : arguments[2];
1407+
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;
14081408

14091409
if (!this._events[type]) {
14101410
this._events[type] = [];
@@ -1415,7 +1415,7 @@ return /******/ (function(modules) { // webpackBootstrap
14151415
}, {
14161416
key: "once",
14171417
value: function once(type, fn) {
1418-
var context = arguments.length <= 2 || arguments[2] === undefined ? this : arguments[2];
1418+
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;
14191419

14201420
var fired = false;
14211421

@@ -1458,10 +1458,9 @@ return /******/ (function(modules) { // webpackBootstrap
14581458
for (var i = 0; i < len; i++) {
14591459
var event = eventsCopy[i];
14601460

1461-
var _event = _slicedToArray(event, 2);
1462-
1463-
var fn = _event[0];
1464-
var context = _event[1];
1461+
var _event = _slicedToArray(event, 2),
1462+
fn = _event[0],
1463+
context = _event[1];
14651464

14661465
if (fn) {
14671466
fn.apply(context, [].slice.call(arguments, 1));
@@ -1487,10 +1486,10 @@ return /******/ (function(modules) { // webpackBootstrap
14871486
var distance = current - start;
14881487
var speed = Math.abs(distance) / time;
14891488

1490-
var deceleration = options.deceleration;
1491-
var itemHeight = options.itemHeight;
1492-
var swipeBounceTime = options.swipeBounceTime;
1493-
var bounceTime = options.bounceTime;
1489+
var deceleration = options.deceleration,
1490+
itemHeight = options.itemHeight,
1491+
swipeBounceTime = options.swipeBounceTime,
1492+
bounceTime = options.bounceTime;
14941493

14951494
var duration = options.swipeTime;
14961495
var rate = options.wheel ? 4 : 15;

build/bscroll.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)