modules/system/assets/toolbox/controls/drag-scroll/README.md
Allows elements with overflow: hidden to be scrolled by dragging, mouse wheel, or touch.
drag-scroll.js — Standalone DragScroll class with all logicdrag-scroll-control.js — ControlBase wrapper for data-control="drag-scroll"drag-scroll-plugin.js — jQuery $.fn.dragScroll() backward compatibility shim<div data-control="drag-scroll" data-vertical="true">
<div class="long-content"></div>
</div>
data-no-drag-support — disables drag support, leaving only mouse wheel supportdata-use-native-drag — enables native CSS scroll via "mobile" on the HTML tagdata-vertical — enables vertical scrolling mode// Initialize
$('#scrollExample').dragScroll({
vertical: false,
useDrag: true,
useScroll: true,
useNative: false,
useComboScroll: true,
scrollClassContainer: '#parent',
noOverScroll: false
});
// Methods
$('#scrollExample').dragScroll('goToElement', $targetElement);
$('#scrollExample').dragScroll('goToStart');
$('#scrollExample').dragScroll('pause');
$('#scrollExample').dragScroll('resume');
$('#scrollExample').dragScroll('dispose');
vertical — scroll direction is vertical (default: false)useDrag — allow dragging (default: true)useScroll — allow mouse wheel scrolling (default: true)useNative — use native CSS scroll when HTML tag has "mobile" class (default: false)useComboScroll — horizontal scroll acts as vertical and vice versa (default: true)scrollClassContainer — element or selector to apply scroll-before / scroll-after CSS classesscrollMarkerContainer — element or selector to inject scroll marker spansdragSelector — restrict drag events to this selectorscrollSelector — restrict scroll events to this selectornoOverScroll — prevent scroll events from bubbling when at boundary (default: false)noScrollClasses — disable scroll class management (default: false)dragClass — class added to body during drag (default: 'drag')start — callback when drag startsdrag — callback when draggingstop — callback when drag endsstart.oc.dragScroll — fired on the element when dragging beginsdrag.oc.dragScroll — fired on the element during drag or scrollstop.oc.dragScroll — fired on the element when dragging ends<div id="scrollExample" style="width: 100%; height: 50px; overflow: hidden;">
<div style="height: 50px; width: 5000px;
background-image: linear-gradient(90deg, gray, white, gray);
background-size: 500px 50px;">
</div>
</div>
<script>
$('#scrollExample').dragScroll();
</script>