scroller
v3.0.2
快速,轻巧(4KB GZIP)和无依赖性内容滚动器。
有关它如何在不同的设置和UI条件下工作的更多示例,请查看此链接。
使用NPM安装滚动器:
npm install prokrutchik
将脚本和样式添加到您的项目中:
import { Scroller } from "prokrutchik" ;
import "prokrutchik/styles.css" ;
或将它们直接添加到HTML文件:
< script src =" /path/to/prokrutchik/browser.js " > </ script >
< link href =" /path/to/prokrutchik/styles.css " rel =" stylesheet " />
默认情况下,Scroller为页面上的所有.scroller
元素提供自动初始化:
< ul class =" scroller " >
< li > First item </ li >
< li > Second item </ li >
< li > Third item </ li >
</ ul >
您还可以手动初始化实例:
< ul class =" foo " >
< li > First item </ li >
< li > Second item </ li >
< li > Third item </ li >
</ ul >
< script type =" module " >
import { Scroller } from "prokrutchik" ;
const instance = new Scroller ( {
element : document . querySelector ( ".foo" ) ,
} ) ;
</ script >
您可以通过html中的data-
属性配置滚动器:
data-navigation
,显示/隐藏导航按钮, "visible" | "hidden"
;data-scrollbar
显示/隐藏了内容"visible" | "hidden"
中的滚动条"visible" | "hidden"
;data-align
,指定内容如何适合屏幕, "start" | "center" | "end"
;data-start-position
,内容的初始位置, number of px | "start" | "center" | "end"
;data-start-duration
,启动动画持续时间, number of milliseconds
。可以配置滚动器项目:
data-anchor
,导航中的项目标签, string
;data-focused
如果定义)滚动器将在开始时滚动到此项目。您还可以使用配置对象配置滚动器:
const scroller = new Scroller ( {
element : document . querySelector ( ".foo" ) ,
// Show/hide the scrollbar, "visible" | "hidden":
scrollbar : "hidden" ,
// Show/hide the navigation, "visible" | "hidden":
navigation : "hidden" ,
// How to align content if it fits the screen, "start" | "center" | "end":
align : "center" ,
// Initial scroller content position, "start" | "center" | "end" | number of px:
startPosition : "center" ,
// Starting animation duration, number of milliseconds:
startDuration : 500 ,
} ) ;
Scroller提供了用于更改当前位置的API,处理项目点击并动态更新配置。
对于位置更改,请使用scrollTo
方法:
// Scrolls to the beginning of the content
scroller . scrollTo ( "start" ) ;
// Scrolls to the center of the content:
scroller . scrollTo ( "center" ) ;
// Scrolls to the end of the content:
scroller . scrollTo ( "end" ) ;
// Scrolls to 100px from the start of the content:
scroller . scrollTo ( 100 ) ;
// Second optional parameter specifies
// the animation duration in milliseconds.
// Scrolls to center in 500 ms:
scroller . scrollTo ( "center" , 500 ) ;
有关“单击”项目的处理,请在配置中指定onItemClick
处理程序:
const scroller = new Scroller ( {
element : document . querySelector ( ".foo" ) ,
onItemClick : ( event ) => {
/* The `event` argument here is `TouchEvent` or `MouseEvent` depending on the user device. */
} ,
} ) ;
对于配置更新,请使用update
方法:
scroller . update ( {
scrollbar : "hidden" ,
navigation : "hidden" ,
align : "center" ,
onItemClick : someFunc ,
} ) ;
带有禁用的滚动栏,活动导航和启动对齐的滚动器,该滚动器通过HTML数据属性配置:
< head >
< link href =" /path/to/prokrutchik/styles.css " rel =" stylesheet " />
< script src =" /path/to/prokrutchik/browser.js " defer > </ script >
</ head >
< body >
< ul class =" scroller " data-scrollbar =" hidden " data-align =" start " >
< img src =" example.png " data-anchor =" anchor1 " />
< div data-anchor =" anchor2 " > </ div >
< table data-anchor =" anchor3 " > </ table >
<!-- ... -->
</ div >
</ body >
通过配置对象配置的相同设置的滚动器:
import { Scroller } from "prokrutchik" ;
import "prokrutchik/styles.css" ;
const myScroller = new Scroller ( {
el : document . querySelector ( ".foo" ) ,
scrollbar : "hidden" ,
align : "start" ,
} ) ;
如果要使用scroller和react或vue,请查看以下包: