vue使用 better-scroll的参数和方法详解


Posted in Javascript onJanuary 25, 2018

格式:var obj = new BScroll(object,{[option1,],.,.});

注意:

1、要确保object元素的高度比其父元素高
2、使用时,一定要确保object所在的dom渲染后,再用上面的语句,或者obj.refresh()

Options 参数

  1. startX: 0 开始的X轴位置
  2. startY: 0 开始的Y轴位置
  3. scrollY: true 滚动方向为 Y 轴
  4. scrollX: true 滚动方向为 X 轴
  5. click: true 是否派发click事件,通常判断浏览器派发的click还是betterscroll派发的click,可以用event._constructed,若是bs派发的则为true
  6. directionLockThreshold: 5
  7. momentum: true 当快速滑动时是否开启滑动惯性
  8. bounce: true 是否启用回弹动画效果
  9. selectedIndex: 0 wheel 为 true 时有效,表示被选中的 wheel 索引
  10. rotate: 25 wheel 为 true 时有效,表示被选中的 wheel 每一层的旋转角度
  11. wheel: false 该属性是给 picker 组件使用的,普通的列表滚动不需要配置
  12. snap: false 该属性是给 slider 组件使用的,普通的列表滚动不需要配置
  13. snapLoop: false 是否可以无缝循环轮播
  14. snapThreshold: 0.1 用手指滑动时页面可切换的阈值,大于这个阈值可以滑动的下一页
  15. snapSpeed: 400, 轮播图切换的动画时间
  16. swipeTime: 2500 swipe 持续时间
  17. bounceTime: 700 弹力动画持续的毫秒数
  18. adjustTime: 400 wheel 为 true 有用,调整停留位置的时间
  19. swipeBounceTime: 1200 swipe 回弹 时间
  20. deceleration: 0.001 滚动动量减速越大越快,建议不大于0.01
  21. momentumLimitTime: 300 符合惯性拖动的最大时间
  22. momentumLimitDistance: 15 符合惯性拖动的最小拖动距离
  23. resizePolling: 60 重新调整窗口大小时,重新计算better-scroll的时间间隔
  24. preventDefault: true 是否阻止默认事件
  25. preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ } 阻止默认事件
  26. HWCompositing: true 是否启用硬件加速
  27. useTransition: true 是否使用CSS3的Transition属性
  28. useTransform: true 是否使用CSS3的Transform属性
  29. probeType: 1 滚动的时候会派发scroll事件,会截流。2滚动的时候实时派发scroll事件,不会截流。 3除了实时派发scroll事件,在swipe的情况下仍然能实时派发scroll事件

Events 事件

代码实例:

let scroll = new BScroll(document.getElementById('wrapper'),{
  probeType: 3
})
 
scroll.on('scroll', (pos) => {
 console.log(pos.x + '~' + pos.y)
})
  1. beforeScrollStart - 滚动开始之前触发
  2. scrollStart - 滚动开始时触发
  3. scroll - 滚动时触发
  4. scrollCancel - 取消滚动时触发
  5. scrollEnd - 滚动结束时触发
  6. touchend - 手指移开屏幕时触发
  7. flick - 触发了 fastclick 时的回调函数
  8. refresh - 当 better-scroll 刷新时触发
  9. destroy - 销毁 better-scroll 实例时触发

函数列表

scrollTo(x, y, time, easing):滚动到某个位置,x,y 代表坐标,time 表示动画时间,easing 表示缓动函数scroll.scrollTo(0, 500)

scrollToElement(el, time, offsetX, offsetY, easing):滚动到某个元素,el(必填)表示 dom 元素,time 表示动画时间,offsetX 和 offsetY 表示坐标偏移量,easing 表示缓动函数

refresh():强制 scroll 重新计算,当 better-scroll 中的元素发生变化的时候调用此方法

getCurrentPage():snap 为 true 时,获取滚动的当前页,返回的对象结构为 {x, y, pageX, pageY},其中 x,y 代表滚动横向和纵向的位置;pageX,pageY 表示横向和纵向的页面索引。用法如:getCurrentPage().pageX 

goToPage(x, y, time, easing)
snap 为 true,滚动到对应的页面,x 表示横向页面索引,y 表示纵向页面索引, time 表示动画,easing 表示缓动函数(可省略不写)

enable()启用 better-scroll,默认开启

disable()  禁用 better-scroll

destroy() 销毁 better-scroll,解绑事件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 多级下拉菜单核心代码
May 21 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
AngularJS自动表单验证
Feb 01 Javascript
浅谈JavaScript对象与继承
Jul 10 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
JavaScript 自定义事件之我见
Sep 25 Javascript
第一个Vue插件从封装到发布
Nov 22 Javascript
谈谈JavaScript中的垃圾回收机制
Sep 17 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 Javascript
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
Vue cli+mui 区域滚动的实例代码
Jan 25 #Javascript
基于vue开发的在线付费课程应用过程
Jan 25 #Javascript
基于vue 开发中出现警告问题去除方法
Jan 25 #Javascript
关于express与koa的使用对比详解
Jan 25 #Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
Jan 25 #Javascript
Vue框架之goods组件开发详解
Jan 25 #Javascript
前端MVVM框架解析之双向绑定
Jan 24 #Javascript
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python环境变量设置方法
2016/08/28 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
python实现linux下抓包并存库功能
2018/07/18 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
C++是不是类型安全的
2014/02/18 面试题
介绍一下Linux文件的记录形式
2013/09/29 面试题
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
Python访问Redis的详细操作
2021/06/26 Python