# Mouse Cursor Follower

You can add a fancy mouse cursor interaction to the template elements in a declarative way.

# Example 1: Scale & Magnify Effects

In the following code, once the element with the data-arts-cursor attribute is hovered:

  • The cursor-following circle will be scaled by 1.7 (70%).
  • The element will magnify to the cursor on near mouse movement.
  • The native mouse cursor will be hidden.
<div
  data-arts-cursor="true" 
  data-arts-cursor-scale="1.7" 
  data-arts-cursor-magnetic="true"
  data-arts-cursor-hide-native="true"
  class="header__burger"
  id="js-burger"
>
  ...
</div>

# Example 2: Setting Cursor Icon

In the following code, once the element with the data-arts-cursor attribute is hovered:

  • The cursor-following circle will be scaled by 1.6 (60%).
  • The cursor icon class will be set to add. The list of available icon classes can be found at Material Icons (opens new window).
  • The native mouse cursor will be hidden.
<a
  data-arts-cursor="true"
  data-arts-cursor-scale="1.6" 
  data-arts-cursor-icon="add" 
  data-arts-cursor-hide-native="true" 
  href="img/assets/project1/img-1-2.jpg" 
  class="hover-zoom figure-image__link"
  data-size="900x1350" 
  data-title="Long Road"
>
  ...
</a>

# Example 3: Setting Cursor Label

In the following code, once the element with the data-arts-cursor attribute is hovered:

  • The cursor-following circle will be scaled by 0.0 (0%) – the circle will hide.
  • The cursor text label will be set to Play.
  • The element will magnify to the cursor on near mouse movement.
  • The native mouse cursor will be hidden.
<div
  data-arts-cursor="true" 
  data-arts-cursor-scale="0.0" 
  data-arts-cursor-label="Play" 
  data-arts-cursor-hide-native="true" 
  data-arts-cursor-magnetic="true"
  class="section-video__link-inner"
>
  ...
</div>

WARNING

Note: The magnification effect may work incorrectly if there is a CSS transition rule set on the element. It's recommended to avoid any CSS transforms and transitions on the magnifying elements as they may produce visual glitches due to conflicts with the GSAP engine.

As a good alternative, create an outer wrapper on the magnifying element with all the required transforms and transitions.