dragroll v1.1.1
drag-scroll
A javascript library that offers ability of scrolling element by dragging.
Installation
$ npm install dragroll
Usage
Notice: Due to the package name occupation on npm, this package is named as "dragroll". However for usual use, it's recommended to import as "dragScroll", which will be more semantic and accurate.
Basic
import dragScroll from "dragroll"
dragScroll(draggable, scrollable)API
function dragScroll(
scrollable: HTMLElement,
draggable: HTMLElement|null,
options?:
{
movement?:
{
x?: [number, number]
y?: [number, number]
swapped?: boolean
},
constrained?: boolean
destroy?: boolean,
override?: boolean,
avoid?: HTMLElement[],
hooks?:
{
dragStart?: (event: MouseEvent, draggable: HTMLElement, draggable_data: DraggableData) => void|false
drag?: (event: MouseEvent, draggable: HTMLElement, draggable_data: DraggableData) => void|false
dragEnd?: (event: MouseEvent, draggable: HTMLElement, draggable_data: DraggableData) => void
}
},
): voidscrollableThe scrollable element. When drag occurs on draggable, scrollable scrolls correspondingly.
draggableThe draggable element. Drag on draggable triggers dragscroll action.
When null, clear all dragscroll relations on passed scrollable.optionsOther options.
movementMovement constraint.
x,yDefines each drag_trigger_threshold and scroll_respond_vector, in form number, number, in unit "px".
drag_trigger_threshold: A quantum of dragging distance. When cursor drags out of per this quantum, trigger once scroll action.
scroll_respond_vector: A quantum of scrolling distance. When scroll triggers, scroll this much distance.
swappedWhen true, swap dragscroll axis.
destroyWhen true, from target scrollable remove the dragscroll relation on target draggable.
overrideWhen true, in update override whole scrollable relations to only contain target relation.
constrainedWhen true, dragscroll will only happen when cursor is inside scrollable.
avoidDragscroll will not happen on those elements.
hooksCustom hooks.
dragStartCall when drag starts. Return
falseto prevent default behaviour.dragCall on each drag move. Return
falseto prevent default behaviour.dragEndCall when drag ends.