Как получить угол курсора от блока

Немогу понять как написать функцию вращения часовой стрелки за курсором, т.е. что бы один край блока указывал на центр круга, а второй проходил через/к курсору мыши. Язык JS, можно использовать JQuery

свойства блока:

    .krug {
    width: 500px;
    height: 500px;
    background: black;
    border-radius: 50%;
    }

.strelka
{
    width: 10px;
    height: 250px;
    left: 250px;
    top: 250px;
    background: aqua;
    position: absolute;
    transform: rotate(0deg);
    transform-origin: 10% 0%;
}

Это скорее задача по геометрии, но от того не легче(( Примеры задачи: https://imgur.com/a/NnV2Ta9


Ответы (1 шт):

Автор решения: Rudi

Можно что-то такое сделать...

var c = document.getElementById('c');
var t = document.getElementById('t');

t.style.top = c.getBoundingClientRect().y +'px';
t.style.left = c.getBoundingClientRect().x + c.getBoundingClientRect().width/2 - t.getBoundingClientRect().width/2 + 'px';

function XY() {
  return {
    x: t.offsetLeft,
    y: t.offsetTop + 50
  };
}

document.addEventListener('mousemove', function(e) {
  var angle = Math.atan2( e.clientX - XY().x, -(e.clientY - XY().y)) * (180 / Math.PI);
  t.style.transform = 'rotate(' + angle + 'deg)';
});
#t{
  position: absolute;
  width: 5px;
  height: 50px;
  background: red;
  transform-origin: 50% bottom 0; /* x y z */
}
#c{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  background: gray;
  border-radius: 50px;
  transform: translate(-50%,-50%);
}
<div id='c'></div>
<div id='t'></div>

→ Ссылка