###JavaSCriptとrequestAnimationFrameでマウスストーカーを作りたい
書籍をもとに、JavaScriptでマウスストーカーを作っています(「JavaScriptコードレシピ集」という本です)。requestAnimationFrame()メソッドを使って書きたいのですが、下記のコードではうんともすんとも言いません。
JavaScript
1 const el = document.querySelector('.stalker'); 2 3 let mouseX = 0; 4 let mouseY = 0; 5 let currentX = 0; 6 let currentY = 0; 7 8 document.body.addEventListener('mousemove', (event) => { 9 mouseX = event.clientX; 10 mouseY = event.clientY; 11 }); 12 console.log(mouseX); 13 14 tick(); 15 function tick() { 16 requestAnimationFrame(tick); 17 18 currentX += (mouseX - currentX) * 0.1; 19 currentY += (mouseY - currentY) * 0.1; 20 21 el.style.transform = 'translate(${currentX}px, ${currentY}px)'; 22 }
HTML
1<div class="stalker"></div>
CSS
1.stoker { 2 position: fixed; 3 top: 0; 4 left: 0; 5 width: 20px; 6 height: 20px; 7 background: red; 8 border-radius: 50%; 9}
試したこと その1
下記のようなprefixをつけてみましたが、変化はありませんでした。caniuseを見ましたがquestAnimationFrameの対応状況はIE9以下でなければ問題なさそうです。
prefix
1(function() { 2 var requestAnimationFrame = window.requestAnimationFrame || 3 window.mozRequestAnimationFrame || 4 window.webkitRequestAnimationFrame || 5 window.msRequestAnimationFrame; 6 window.requestAnimationFrame = requestAnimationFrame; 7})();
試したこと その2
上から6行目の
document.body.addEventListener
を
window.addEventintener
に書き換えましたが変化なしでした。
どなたかご教授いただければと思います。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/04 05:24
2019/10/04 05:26
2019/10/04 05:38 編集
2019/10/04 05:42
2019/10/04 05:53
2019/10/04 05:56