V.I.P ЭКСКЛЮЗИВ
boosty.to/monster-tem

Подпишись и скачивай
любые файлы, скрипты, проекты и многое другое

MonsterTem.ru » Разное для сайта » Как создать неоновый хвост для курсора мышки ✧ Canvas

Как создать неоновый хвост для курсора мышки ✧ Canvas

Как создать неоновый хвост для курсора мышки ✧ Canvas
29.09.2024
25 просмтотров

Сегодня вы узнаете как создать неоновый хвост для курсора мышки используя HTML, CSS и jаvascript. Вы можете посмотреть видео демонстрацию, скопировать готовый код ниже, попробовать сверстать самому или скачать архив с готовым кодом.

Если это видео оказалось для вас полезным, оставьте комментарий со своими мыслями или вопросами. Ваши отзывы помогают нам создавать более ценный контент.

HTML КОД:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Neon Mouse Cursor Tail - jаvascript</title>

    <!--css file-->
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <canvas class="canvas"></canvas>

    <script src="app.js"></script>
  </body>
</html>

CSS КОД:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #000;
  overflow: hidden;
}

.canvas {
  display: block;
}

jаvascript КОД:

let canvas = document.querySelector(".canvas");
let ctx = canvas.getContext("2d");

canvas.width = window.innerWidth;
canvas.height = window.innerHeight;

let tail = [];

/* rgba(0,255,255,1) */

function draw() {
  ctx.fillStyle = "rgba(0,0,0,.1)";
  ctx.fillRect(0, 0, canvas.width, canvas.height);

  //drawing mouse tail
  for (let i = 0; i < tail.length; i++) {
    ctx.beginPath();
    ctx.arc(tail[i].x, tail[i].y, 10, 0, Math.PI * 2);
    ctx.fillStyle = "#7cff01";
    ctx.fill();
  }
  requestAnimationFrame(draw);
}

canvas.addEventListener("mousemove", (event) => {
  //getting x and y co-ordinates of mouse cursor
  let x = event.x;
  let y = event.y;

  //adding mouse co-ordinates to an array
  tail.push({ x, y });

  //removing first item from tail array
  if (tail.length > 1) {
    tail.shift();
  }
});

//removing mouse tail dot when mouse is out of the window
canvas.addEventListener("mouseout", (event) => {
  //removing first item from tail array
  tail.shift();
});

window.addEventListener("resize", function () {
  canvas.width = innerWidth;
  canvas.height = innerHeight;
});

window.onload = () => {
  requestAnimationFrame(draw);
};


Категории: Разное для сайта
Кликните на изображение чтобы обновить код, если он неразборчив