Vue之better-scroll

来源:互联网 发布:阿里云邮箱删除 编辑:程序博客网 时间:2024/06/06 00:05

Vue设better-scroll滚动

1. 安装:
npm install --save better-scroll

cnpm install --save better-scroll

2. 使用:
例:

<template><div ref=”menu”class="wrapper">//新版vue标记ref<div class="box"><div></div>  </template>


<script>import BScroll from ‘better-scroll’export default{created () {this.$nexTick(() => {this._initScorll ()})},  methods: {_initScorll () {this.aScorll = new BScroll(this.$refs.menu, {})   //使用$.ref获取标记}} }</script>



参数:


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


事件


  • beforeScrollStart - 滚动开始之前触发
  • scrollStart - 滚动开始时触发
  • scroll - 滚动时触发
  • scrollCancel - 取消滚动时触发
  • scrollEnd - 滚动结束时触发
  • touchend - 手指移开屏幕时触发
  • flick - 触发了 fastclick 时的回调函数
  • refresh - 当 better-scroll 刷新时触发
  • destroy - 销毁 better-scroll 实例时触发

Example:

let scroll new BScroll(document.getElementById('wrapper'),{
   probeType3
})
 
scroll.on('scroll'(pos=> {
  console.log(pos.'~pos.y)
})



函数

  • 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,解绑事件


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 恒温 混水阀 热水器混水阀安装 混水阀左热右冷 混水阀串水 电动三通混水阀 混水阀的原理 太阳能混水阀安装 混水阀 孔距 冷热混水阀 淋浴混水阀把手拆图解 电热水器混水阀安装示意图 电热水器混水阀安装图 电热水器混水阀图片 太阳能混水阀结构图 恒温混水阀哪个牌子好 热水器混水阀怎么拆图解 混水阀什么牌子的好 明装混水阀安装尺寸 淋浴三通混水阀安装图 花洒混水阀拆解结构图 热水器混水阀安装图 太阳能混水阀多少钱 恒温混水阀工作原理 热水器混水阀怎么拆 什么牌子的混水阀好 淋浴器混水阀安装图 太阳能冷热水混水阀 太阳能热水器混水阀 地府混江龙 混沌体 混沌不灭体 玄幻之我为混沌体 混沌不灭体全文阅读 混沌战体 混沌不灭体 皇匍四少 混沌神体 暗夜碎梦 混沌霸体诀 天庭小荒兽 混沌兽 混沌龙兽 混沌兽套装3件套效果 混沌头