You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

lc-mouse-drag

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lc-mouse-drag

Vanilla javascript (ES6) function enabling drag scrolling on desktop

1.0.1
latest
Source
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Drag-n-scroll also on desktop devices, by LCweb

No dependencies vanilla javascript function to easily implement a nice drag-to-scroll effect using dsektop mouse.

  • optionally set a mobile-device-like smooth drag animation on drag end
  • optionally control only one scroll axis

Everything in less than 2KB.


Installation & Usage

  • include lc-mouse-drag.min.js

  • call the function targeting one/multiple page elements and eventually fill optional parameters.

    NB: first parameter may be a textual selector or a DOM object (yes, also jQuery objects)

<script type="text/javascript">
lc_mouseDrag('.target_elements', 
    0.3,    // (float) ending dragging animation delta. 0.3 by default, 0 to disable. 
                0.3 means the dragged distance will be increased by 30% on mouse up with a smooth animation
    
    
    false,  // (bool) whether to ignore X-axis dragging
    false   // (bool) whether to ignore Y-axis dragging
);
</script>

NB: Is essential to have a proper HTML/CSS setup in order to have it working.
For example, on desktop, you must use overflow: hidden; on the target element.

Please check the demo.html code to better understand.
The function also sets an utility class on the BODY element to know if page is being viewed on a mobile device (not needing this function).

This is the CSS code used in the demo to apply the proper CSS only on affected devices

<style>
body:not(.lc_mousedrag_is_mobile) #inner {
    overflow: hidden;
    cursor: grab;
} 
</style>

Copyright © Luca Montanari - LCweb

Keywords

javascript

FAQs

Package last updated on 29 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts