Schnell, leicht (4KB GZIP) und abhängig freier Inhaltscroller.
Weitere Beispiele für die Funktionsweise mit unterschiedlichen Einstellungen und UI -Bedingungen finden Sie in diesem Link.
Installieren Sie Scroller mit NPM:
npm install prokrutchik
Fügen Sie Ihr Projekt die Skripte und Stile hinzu:
import { Scroller } from "prokrutchik" ;
import "prokrutchik/styles.css" ;
Oder fügen Sie sie direkt zur HTML -Datei hinzu:
< script src =" /path/to/prokrutchik/browser.js " > </ script >
< link href =" /path/to/prokrutchik/styles.css " rel =" stylesheet " />
Standardmäßig bietet Scroller eine automatische Initialisierung für alle .scroller
-Elemente auf der Seite:
< ul class =" scroller " >
< li > First item </ li >
< li > Second item </ li >
< li > Third item </ li >
</ ul >
Sie können die Instanz auch manuell initialisieren:
< 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 >
Sie können Scroller über data-
in HTML konfigurieren:
data-navigation
, zeigt/verbirgt die Navigationsschaltflächen "visible" | "hidden"
;data-scrollbar
, zeigt die Bildlaufleiste unter dem Inhalt "visible" | "hidden"
;data-align
gibt an, wie Sie den Inhalt ausrichten, wenn er zum Bildschirm passt, "start" | "center" | "end"
;data-start-position
, Anfangsposition des Inhalts, number of px | "start" | "center" | "end"
;data-start-duration
, Animationsdauer, number of milliseconds
.Scroller -Elemente können konfiguriert werden mit:
data-anchor
, Etikett des Elements in der Navigation, string
;data-focused
definiert sind, scrollen Scroller zu diesem Element zu Beginn.Sie können Scroller auch mit dem Konfigurationsobjekt konfigurieren:
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 bietet API zum Ändern der aktuellen Position, zum Handling Element -Klicks und zur dynamischen Aktualisierung der Konfiguration.
Verwenden Sie zur Positionsänderung die scrollTo
-Methode:
// 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 ) ;
Geben Sie den onItemClick
-Handler in der Konfiguration an, um Klicks zu behandeln:
const scroller = new Scroller ( {
element : document . querySelector ( ".foo" ) ,
onItemClick : ( event ) => {
/* The `event` argument here is `TouchEvent` or `MouseEvent` depending on the user device. */
} ,
} ) ;
Verwenden Sie für Konfigurationsaktualisierungen die update
:
scroller . update ( {
scrollbar : "hidden" ,
navigation : "hidden" ,
align : "center" ,
onItemClick : someFunc ,
} ) ;
Scroller mit deaktivierter Bildlaufleiste, aktiver Navigation und Startausrichtung, konfiguriert über HTML-Datenattributen:
< 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 >
Scroller mit den gleichen Einstellungen, die über das Konfigurationsobjekt konfiguriert sind:
import { Scroller } from "prokrutchik" ;
import "prokrutchik/styles.css" ;
const myScroller = new Scroller ( {
el : document . querySelector ( ".foo" ) ,
scrollbar : "hidden" ,
align : "start" ,
} ) ;
Wenn Sie Scroller mit React oder Vue verwenden möchten, lesen Sie die folgenden Pakete: