public/lib/jquery.sly.js
function dragHandler(event) {
            dragging.released = event.type === 'mouseup' || event.type === 'touchend';
            dragging.path     = within(
                (dragging.touch ? event.originalEvent[dragging.released ? 'changedTouches' : 'touches'][0] : event)[o.horizontal ? 'pageX' : 'pageY'] - dragging.initLoc,
                dragging.pathMin, dragging.pathMax
            );

            // Initialization
            if (!dragging.init && (Math.abs(dragging.path) > (dragging.touch ? 50 : 10) || dragging.source === 'handle')) {
                dragging.init = 1;
                if (dragging.source === 'slidee') {
                    ignoreNextClick = 1;
                }

                // Pause ongoing cycle
                self.pause(1);

                // Disable click actions on source element, as they are unwelcome when dragging
                dragging.$source.on('click', function disableAction(event) {
                    stopDefault(event, 1);
                    if (dragging.source === 'slidee') {
                        ignoreNextClick = 0;
                    }
                    dragging.$source.off('click', disableAction);
                });

                // Trigger moveStart event
                trigger('moveStart');
            }

            // Proceed when initialized
            if (dragging.init) {
                stopDefault(event);

                // Adjust path with a swing on mouse release
                if (dragging.released && dragging.source === 'slidee' && o.speed > 33) {
                    dragging.path += dragging.path * 200 / (+new Date() - dragging.start);
                }

                slideTo(dragging.source === 'slidee' ? Math.round(dragging.initPos - dragging.path) : handleToSlidee(dragging.initPos + dragging.path));
            }

            // Cleanup and trigger :moveEnd event on release
            if (dragging.released) {
                $doc.off(dragging.touch ? dragTouchEvents : dragMouseEvents, dragHandler);
                (dragging.source === 'slidee' ? $slidee : $handle).removeClass(o.draggedClass);

                // Account for item snapping position adjustment.
                if (pos.cur === pos.dest) {
                    trigger('moveEnd');
                }
            }
        }
function dragHandler(event) {
            dragging.released = event.type === 'mouseup' || event.type === 'touchend';
            dragging.path     = within(
                (dragging.touch ? event.originalEvent[dragging.released ? 'changedTouches' : 'touches'][0] : event)[o.horizontal ? 'pageX' : 'pageY'] - dragging.initLoc,
                dragging.pathMin, dragging.pathMax
            );

            // Initialization
            if (!dragging.init && (Math.abs(dragging.path) > (dragging.touch ? 50 : 10) || dragging.source === 'handle')) {
                dragging.init = 1;
                if (dragging.source === 'slidee') {
                    ignoreNextClick = 1;
                }

                // Pause ongoing cycle
                self.pause(1);

                // Disable click actions on source element, as they are unwelcome when dragging
                dragging.$source.on('click', function disableAction(event) {
                    stopDefault(event, 1);
                    if (dragging.source === 'slidee') {
                        ignoreNextClick = 0;
                    }
                    dragging.$source.off('click', disableAction);
                });

                // Trigger moveStart event
                trigger('moveStart');
            }

            // Proceed when initialized
            if (dragging.init) {
                stopDefault(event);

                // Adjust path with a swing on mouse release
                if (dragging.released && dragging.source === 'slidee' && o.speed > 33) {
                    dragging.path += dragging.path * 200 / (+new Date() - dragging.start);
                }

                slideTo(dragging.source === 'slidee' ? Math.round(dragging.initPos - dragging.path) : handleToSlidee(dragging.initPos + dragging.path));
            }

            // Cleanup and trigger :moveEnd event on release
            if (dragging.released) {
                $doc.off(dragging.touch ? dragTouchEvents : dragMouseEvents, dragHandler);
                (dragging.source === 'slidee' ? $slidee : $handle).removeClass(o.draggedClass);

                // Account for item snapping position adjustment.
                if (pos.cur === pos.dest) {
                    trigger('moveEnd');
                }
            }
        }
function dragHandler ( event ) { dragging . released = event . type === 'mouseup' || event . type === 'touchend' ; dragging . path = within ( ( dragging . touch ? event . originalEvent [ dragging . released ? 'changedTouches' : 'touches' ] [ 0 ] : event ) [ o . horizontal ? 'pageX' : 'pageY' ] - dragging . initLoc , dragging . pathMin , dragging . pathMax ) ; // Initialization
 if ( ! dragging . init && ( Math . abs ( dragging . path ) > ( dragging . touch ? 50 : 10 ) || dragging . source === 'handle' ) ) { dragging . init = 1 ; if ( dragging . source === 'slidee' ) { ignoreNextClick = 1 ; } // Pause ongoing cycle
 self . pause ( 1 ) ; // Disable click actions on source element, as they are unwelcome when dragging
 dragging . $source . on ( 'click' , function disableAction ( event ) { stopDefault ( event , 1 ) ; if ( dragging . source === 'slidee' ) { ignoreNextClick = 0 ; } dragging . $source . off ( 'click' , disableAction ) ; } ) ; // Trigger moveStart event
 trigger ( 'moveStart' ) ; } // Proceed when initialized
 if ( dragging . init ) { stopDefault ( event ) ; // Adjust path with a swing on mouse release
 if ( dragging . released && dragging . source === 'slidee' && o . speed > 33 ) { dragging . path += dragging . path * 200 / ( + new Date ( ) - dragging . start ) ; } slideTo ( dragging . source === 'slidee' ? Math . round ( dragging . initPos - dragging . path ) : handleToSlidee ( dragging . initPos + dragging . path ) ) ; } // Cleanup and trigger :moveEnd event on release
 if ( dragging . released ) { $doc . off ( dragging . touch ? dragTouchEvents : dragMouseEvents , dragHandler ) ; ( dragging . source === 'slidee' ? $slidee : $handle ) . removeClass ( o . draggedClass ) ; // Account for item snapping position adjustment.
 if ( pos . cur === pos . dest ) { trigger ( 'moveEnd' ) ; } } }
Handler for dragging scrollbar handle or SLIDEE.

@param  {Event} event

@return {Void}
Handler for dragging scrollbar handle or SLIDEE .