Skip to content Skip to sidebar Skip to footer

Draw Circle on Cursor Javascript

Cover image for Create a Modern Circular Cursor for Your Website.

Matthew Marquise

Create a Modern Circular Cursor for Your Website.

Take you ever seen those modernistic websites with custom cursors? Most are circular and really add a unique touch to the sites.

Here are a couple examples of sites that apply a circular cursor:

  • Playground
  • MTG Interior
  • Mallard and Claret

Each of those sites have there own unique version of a circular cursor, and at that place are countless other websites out there with similar, round cursors.

When I first began to see this trend, I certainly wanted to requite it a shot but wasn't sure how hard or easy it would be. Believe it or not, it's very elementary. And so this tutorial I not merely desire to show y'all how to make a few types of circular cursors, I also want to explain how it works. Let's brainstorm.

Table of Contents:

  • Basic Circular Cursor
  • Circular, Inverted Cursor

Basic Circular Cursor:

Stride ane:

Outset by creating a basic html webpage to test with.
Create an index.html file a make full information technology with the below lawmaking.

            <!-- alphabetize.html -->  <caput>   <championship>Circular Cursor Tutorial</title>    <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, user-scalable=no">    <link rel="stylesheet" href="chief.css">    <script src="main.js"></script>   <script src="https://ajax.googleapis.com/ajax/libs/jquery/ii.ane.1/jquery.min.js"></script>  </head> <body>   <h1>     Hello!   </h1>   <p>This is a unproblematic, circular cursor that is easy to implement and will truly make your website stand up out.</p> </body>                      

Enter fullscreen way Exit fullscreen fashion

In the head section you'll notice I've included basic meta tags, as well as an included script for jQuery UI that's existence sourced from Google Hosted Libraries. I likewise linked a CSS and JS file we'll create side by side.

Step two:

Now that we take a general base to build on, let's begin adding the lawmaking to make information technology part properly.

Create a CSS file titled primary.css and for the unabridged html file set the property of the cursor to none.

            /* main.css */  html {   cursor: none; }                      

Enter fullscreen style Exit fullscreen style

Yous should at present run into that your cursor vanishes. At present that we've hidden the default cursor, we need to begin adding our custom cursor.

            #circularcursor {   background-color: transparent;   border:1px solid black;       height:20px;   width:20px;   border-radius:50%;   -moz-border-radius:50%;   -webkit-edge-radius:50%;   position: absolute;   z-index: one; }                      

Enter fullscreen style Exit fullscreen manner

This CSS creates the circumvolve we want. You should observe that your new circular cursor is stuck in the top left corner of the webpage. In society to attach it to the now invisible default cursor we need a little javascript.

Once you've added the CSS, create a javascript file titled master.js. Add together the following lawmaking:

            // principal.js  document.trunk.onmousemove = office(e) {   document.documentElement.way.setProperty (     '--10', (       e.clientX+window.scrollX     )     + 'px'   );   document.documentElement.way.setProperty (     '--y', (       e.clientY+window.scrollY     )      + 'px'   ); }                      

Enter fullscreen mode Go out fullscreen style

In simple terms, this javascript office is but mapping the mouse. If you leave this javascript out, the webpage will have no way of mapping the cursor therefore your cursor will stay in the corner.

You should now accept this:

Now that you sympathize the basics of how to create a custom cursor, allow'due south create a more complex i.

Circular, Inverted Cursor:

Creating a circular, inverted cursor is also very easy.

Step 1:

Start with a basic html file:

            <caput>   <title>Inverted Round Cursor</championship>  </caput> <body align="middle">   <div id="invertedcursor"></div>    <h1>This Cursor is Inverted!</h1>    <p>     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis volutpat elementum risus vitae volutpat. Donec luctus tellus ut ligula tempus semper. Pellentesque ac semper mauris, quis varius purus. Quisque sit amet imperdiet lorem, eget vulputate ante. Suspendisse potenti. Fusce a magna ultrices, aliquet ligula a, pellentesque est. Phasellus not luctus magna.   </p>  </torso>                      

Enter fullscreen mode Go out fullscreen mode

Step two:

Create a CSS file titled main.css. Add together a body selector and make sure to set the cursor to none. Follow it with an id titled invertedcursor.

            /* principal.css */  body {   elevation: 100%;   min-height: 100%;   cursor: none;   color: #000;   groundwork-colour: #fff; }  #invertedcursor {   position: absolute;   width: 40px;   pinnacle: 40px;   background: #fff;   border-radius: 50%;   top: var(--y, 0);   left: var(--10, 0);   transform: translate(-50%, -50%);   z-index: ii;   mix-alloy-mode: difference;   transition: transform .2s; }                      

Enter fullscreen way Get out fullscreen style

The CSS lawmaking within, only determines what the background and text colors likewise mixing the coloration with the mix-blend-mode. For more than info most mix-blend-mode visit: W3Schools.com - CSS mix-blend-mode Property.

Step 3:

Lastly, allow's add the necessary JS in a file titled main.js.

            // main.js certificate.body.onmousemove = function(e) {   document.documentElement.fashion.setProperty (     '--x', (       eastward.clientX+window.scrollX     )     + 'px'   );   document.documentElement.mode.setProperty (     '--y', (       due east.clientY+window.scrollY     )      + 'px'   ); }                      

Enter fullscreen mode Exit fullscreen mode

This JS code but maps where the cursor is based on a X and Y axis.

Yous should now accept this:

And then those are two smashing examples of custom round cursors you tin can easily implement in your website! Feel gratuitous to enquire any questions or propose better ways to achieve this in the comments!

Thanks for reading!

brucekated1967.blogspot.com

Source: https://dev.to/mattmarquise/how-to-create-a-custom-circular-cursor-for-your-website-4i7p

Post a Comment for "Draw Circle on Cursor Javascript"