1.0.1 • Published 6 years ago

@dwqs/scroll-on-webview v1.0.1

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

npm-version license js-standard-style

此项目产生的缘由是因为 scroll 事件在 iOS UIWebViews 上的延迟触发, 基于 iscroll 改造

scroll-on-webview

Scroll on webview

Basic Usage

Install the pkg with npm or yarn:

npm i --save @dwqs/scroll-on-webview

// or

yarn add @dwqs/scroll-on-webview

Use in the component:

import ScrollOnWebview from '@dwqs/scroll-on-webview'

export default class Hello extends React.Component {
  render () {
    return (
      <div id='hello'>Scroll Container</div>
    )
  }

  componentDidMount () {
    this.scroller = new ScrollOnWebview('#hello', {
      // your options
    })
  }
}

Options

type格式:类型:默认值

nametypedesc
momentumbool:true是否增加弹性缓冲
bindToWrapperbool:true是否将事件绑定在 Scroll Container 元素上
HWCompositingbool:true是否启用硬件加速
bouncebool:true滚动到边界时是否添加缓冲动画
bounceTimenumber:300缓冲动画的持续时间, 单位 ms
bounceEasingstring:''缓冲动画的缓冲函数,内置可选值:quadratic/circular/back/bounce/elastic
scrollXbool:false是否允许在X方向上滚动
scrollYbool:true是否允许在Y方向上滚动

Scroller 实例

  • scroller.x / scroller.y:当前的位置
  • scroller.on / scroller.off:自定义事件的监听和解绑
myScroll = new ScrollOnWebview('#hello');
myScroll.on('scrollEnd', doSomething);
  • scrollStart:开始滚动时触发
  • scroll:滚动时触发
  • scrollEnd:滚动结束时触发
  • momentum:执行弹性缓冲时触发

Development

git clone git@github.com:dwqs/scroll-on-webview.git

cd scroll-on-webview && npm i

npm run dev

LICENSE

MIT