質問失礼します。
下記サイトを参考にまずはコピペで作業を行ってみましたがサイト通りに動きません。
参考サイト
JQUery、TweenMaxも読み込んでいます。
サイト通りにならない部分は下記になります。
黄色い丸(マウスストーカーが表示されていない)
スクロースした際、点(ストーカーが表示されていないので黒い点のみ)が置いてけぼりでマウスを動かすと一瞬でマウスの場所まで移動する。
aタグにマウスをホバーした時、指マークのマウスカーソルが表示される。
解決方法をご存じの方がいましたらご教授いただけますと幸いです。
よろしくお願いいたします。
コードの追加
HTML
<!DOCTYPE html> <html dir="ltr" lang="ja"> <head> <meta charset="utf-8"> <meta name=”robots” content=”noindex,nofollow“> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="stylesheet" type="text/css" href="style2.css"> </head> <body> <div class="cursor"></div> <div class="follower"></div> <div id="globalMenu"></div> <div id="box"> <a href="#">テスト</a> </div> </body> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/TweenMax.min.js"></script> <script type="text/javascript" src="script2.js"></script> </html>
CSS
@charset "UTF-8"; html, body { width: 100%; height: 100%; margin: 0 } body { position: relative; cursor: none } .cursor, .follower { border-radius: 50%; position: absolute; top: 0; left: 0; pointer-events: none } .cursor { width: 8px; height: 8px; background-color: #000; z-index: 1001 } .follower { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; background-color: rgba(#fdfe00, 0.5); z-index: 1000; transition: transform ease 0.1s; text-align: center; span { display: inline-block; font-size: 14px; font-weight: bold; transform: scale(0) } &.is-active { transform: scale(3) } } #globalMenu { position: fixed; top: 0; left: 0; width: 100%; height: 100px; background: red; z-index: 100 } #box { position: absolute; top: 100px; left: 0; width: 100%; height: 2000px; background: green }
JavaScript
$(function(){ var cursor = $(".cursor"), follower = $(".follower"), cWidth = 8, //カーソルの大きさ fWidth = 40, //フォロワーの大きさ delay = 10, //数字を大きくするとフォロワーがより遅れて来る mouseX = 0, //マウスのX座標 mouseY = 0, //マウスのY座標 posX = 0, //フォロワーのX座標 posY = 0; //フォロワーのX座標 //カーソルの遅延アニメーション //ほんの少ーーーしだけ遅延させる 0.001秒 TweenMax.to({}, .001, { repeat: -1, onRepeat: function() { posX += (mouseX - posX) / delay; posY += (mouseY - posY) / delay; TweenMax.set(follower, { css: { left: posX - (fWidth / 2), top: posY - (fWidth / 2) } }); TweenMax.set(cursor, { css: { left: mouseX - (cWidth / 2), top: mouseY - (cWidth / 2) } }); } }); //マウス座標を取得 $(document).on("mousemove", function(e) { mouseX = e.pageX; mouseY = e.pageY; }); $("a").on({ "mouseenter": function() { cursor.addClass("is-active"); follower.addClass("is-active"); }, "mouseleave": function() { cursor.removeClass("is-active"); follower.removeClass("is-active"); } }); });
回答1件
あなたの回答
tips
プレビュー