Giter VIP home page Giter VIP logo

react-mouse-blur's Introduction

React-Mouse-Blur ๐Ÿ–ฑ๏ธ

A npm package that provides a quick and easy implementation for cursor motion blur

๐Ÿ“น Video

https://www.youtube.com/watch?v=g322U64oSlI

๐Ÿ“ฆ Installation

# with npm
npm install react-mouse-blur

# with yarn
yarn add react-mouse-blur

๐Ÿ”จ Usage

import React, { useRef } from 'react';
import CursorBlur from 'react-mouse-blur';
import './App.css';
import cursor from './autocursor.png';

function App() {
  const intensity1 = useRef(null);
  const intensity2 = useRef(null);
  const intensity3 = useRef(null);
  const intensity4 = useRef(null);
  const transparencyOff = useRef(null);


  return (
    <div className="main">
      <CursorBlur intensity={1} transparency={true} image={cursor} canvas={intensity1} />
      <CursorBlur intensity={2} transparency={true} image={cursor} canvas={intensity2} />
      <CursorBlur intensity={3} transparency={true} image={cursor} canvas={intensity3} />
      <CursorBlur intensity={4} transparency={true} image={cursor} canvas={intensity4} />
      <CursorBlur transparency={false} image={cursor} canvas={transparencyOff} />

      <div className="content">
        <div className="box1" ref={intensity1}> Cursor Blur Intensity 1 </div>
        <div className="box1" ref={intensity2}> Cursor Blur Intensity 2 </div>
        <div className="box1" ref={intensity3}> Cursor Blur Intensity 3 </div>
        <div className="box1" ref={intensity4}> Cursor Blur Intensity 4 </div>
        <div className="box1" ref={transparencyOff}> Cursor Blur No Transparency </div>
        <div className="box1"> No Cursor Blur</div>
      </div>
    </div>
  );
}

export default App;
The intensity prop accepts an int and has levels 1, 2, 3, 4. It determines how powerful the motion blur should be.

The transparency prop accepts a boolean determines if the opacity of the trailing cursor changes.

The image prop determines the image of the trailing cursor.

The canvas prop accepts a ref and determines the area over which the motion blur should occur.

Tips

  • Always make sure that the CursorBlur component is above the canvas component that you are using.

    • This is seen in the usage example above.
  • For the main cursor image and the CursorBlur image to match, you have to set the cursor to be the same as the img prop. This can be done in index.css.

    • index.css
      body {
        cursor: url("./autocursor.png"), auto;
      }
  • If you set the transparency prop to false, then there is no need to set an intensity.

    • This is the case as opacity is not changing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.