我希望让一个div旋转到鼠标指向的点,当鼠标指向左侧时,它应该显示
<-
,当鼠标指向右侧时,它应该显示->
。这需要支持任何方向!有没有什么解决方法?<style>
body {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
</style>
<div id="arrow">></div>
<script type="text/javascript">
var arrow = document.querySelector("#arrow");
var arrowRects = arrow.getBoundingClientRect();
var arrowX = arrowRects.left + arrowRects.width / 2;
var arrowY = arrowRects.top + arrowRects.height / 2;
addEventListener("mousemove", function(event) {
arrow.style.transform = "rotate(" + Math.atan2(event.y - arrowY, event.x - arrowX) + "rad)";
});
</script>