Скопипастил код для глаз, следящих за курсором, и он работает, но есть проблема с координатами. Первоначально координаты такие(глаз прижат к верхнему левому краю):
let x = event.x -50;
let y = event.y -50;
Однако, у меня глаз находится в другом месте, и из-за этого зрачок неверно двигается. Так же у каждого устройства уникальный размер и тут тоже нужны другие значения.
Весь код:
<div class="y-1">
<div class="y-2"></div>
</div>
<div class="y-3">
<div class="y-4"></div>
</div>
<script>
document.onmousemove = function (event) {
let x = event.x // координаты ;
let y = event.y // координаты ;
console.log(x + ' ' + y);
document.querySelector('.y-1').style.transform = 'rotate(' + 57.2958 * arcctg(x, y)+'deg)';
document.querySelector('.y-3').style.transform = 'rotate(' + 57.2958 * arcctg(x - 30, y)+'deg)';
function arcctg (x, y){
if (x > 0 && y > 0) return Math.PI / 2 - Math.atan(x / y);
if (x < 0 && y > 0) return Math.PI / 2 - Math.atan(x / y);
if (x < 0 && y < 0) return Math.PI + Math.atan(y / x);
if (x > 0 && y < 0) return 3 * Math.PI / 2 + Math.abs(Math.atan(x / y));
}
}
</script>
Можно ли сделать так, чтобы координаты находились автоматически? Если можно, то как?