上毛印刷株式会社

【JavaScript】おしゃれなサイトにオススメ!マウスストーカーを実装

【JavaScript】おしゃれなサイトにオススメ!マウスストーカーを実装

2025年04月14日
WEBサイト制作
  • #HTML
  • #css
  • #JavaScript
  • #tips

こんにちは!
上毛印刷WEB制作担当のソーヤです。

今回はカッコイイ、おしゃれなサイトでよく見るマウスストーカーの実装方法を紹介します!

実装例は、すでにカーソルに赤い丸がついてきてますよね。
ただまあ、これを実装したところでサイトの利便性が上がったりとかはほぼほぼないですね・・・
完全に見た目のオシャレっぽさのためのものです 笑

マウスストーカー

HTML例

<div id="js-stalker-wrap">
  <div id="js-stalker">マウスストーカー</div>
</div>

CSS例

#js-stalker-wrap{
  opacity: 0;
  transition: 2s;
  pointer-events: none;
}
#js-stalker{
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-indent: -9999px;
  background: rgba(253, 0, 0, 0.5);
  z-index: 9999;
}

JavaScript例

var stalker = document.getElementById('js-stalker');
var stalkerWrap = document.getElementById('js-stalker-wrap');
var sWidth = 40,
    delay = 10,
    mouseX = 0,
    mouseY = 0,
    posX = 0,
    posY = 0;
document.addEventListener('mousemove', function (e) {
  stalkerWrap.style.opacity = '1';
});
function animate() {
    posX += (mouseX - posX) / delay;
    posY += (mouseY - posY) / delay;
    stalker.style.left = (posX - sWidth / 2) + 'px';
    stalker.style.top = (posY - sWidth / 2) + 'px';
    requestAnimationFrame(animate);
}
animate();
document.addEventListener('mousemove', function(e) {
    mouseX = e.pageX;
    mouseY = e.pageY;
});

まとめ

今回もjQueryではなく、Vanilla.jsで実装してみました。

コピペしてガンガン使ってください!

WEB制作担当ソーヤ

ソーヤ

上毛印刷WEB制作担当
東証プライム企業の本社WEB受託チームにてフロントエンドエンジニアの経験あり。


この記事に対するご意見・ご感想・ご質問等ありましたら、
ぜひ下記フォームにてお送りください。

    お名前必須
    メールアドレス必須
    お問い合わせ内容必須
    PAGE TOP