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 相关文章推荐
javascript 二进制运算技巧解析
Nov 27 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
Sep 21 Javascript
js实现使用鼠标拖拽切换图片的方法
May 04 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
Aug 23 Javascript
全面了解构造函数继承关键apply call
Jul 26 Javascript
vue多级多选菜单组件开发
Sep 08 Javascript
详解JS中遍历语法的比较
Apr 07 Javascript
Vue的事件响应式进度条组件实例详解
Feb 04 Javascript
Vue中的Props(不可变状态)
Sep 29 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
vue实现带过渡效果的下拉菜单功能
Feb 19 Javascript
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
Protoss热键控制
2020/03/14 星际争霸
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP中读写文件实现代码
2011/10/20 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
详解nvm管理多版本node踩坑
2019/07/26 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
Python Http请求json解析库用法解析
2020/11/28 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
物业管理求职自荐信
2013/09/25 职场文书
优秀毕业生推荐信
2013/11/02 职场文书
自我评价范文分享
2014/01/04 职场文书
大学信息公开实施方案
2014/03/09 职场文书
学校食品安全实施方案
2014/06/14 职场文书
跑吧孩子观后感
2015/06/10 职场文书