js鼠标移动的轨迹

<style>
    * {
      margin: 0;
      padding: 0;
    }

    div {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      /* background: red; */
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      cursor: default;
    }
  </style>
<script>
  for (var i = 1; i <= 200; i++) {
    var oDiv = document.createElement('div');
    oDiv.innerHTML = i;
    oDiv.style.background = `rgb(${Math.round(Math.random() * 255)},${Math.round(Math.random() * 255)},${Math.round(Math.random() * 255)})`
    document.body.appendChild(oDiv);
  }

  var oBalls = document.querySelectorAll('div');

  var r = oBalls[0].offsetWidth / 2;

  document.onmousemove = function (e) {
    var ev = event || e;
    var x = ev.x;   // 获取鼠标的可视x坐标
    var y = ev.y;   // 获取鼠标的可视y坐标

    oBalls[0].style.cssText += `left: ${x - r}px; top: ${y - r}px`; // 直接修改元素的style属性
    for (var i = oBalls.length - 1; i > 0; i--) {
      oBalls[i].style.left = oBalls[i - 1].style.left;
      oBalls[i].style.top = oBalls[i - 1].style.top;
    }
  }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过HTML5的Canvas元素和JavaScript来实现在网页上用鼠标画出自己的名字并获取鼠标移动轨迹。以下是一个简单的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Canvas Demo</title> <style> canvas { border: 1px solid black; } </style> </head> <body> <canvas id="myCanvas" width="500" height="500"></canvas> <script> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); var isDrawing = false; var mouseMoves = []; canvas.addEventListener("mousedown", function(e) { isDrawing = true; ctx.beginPath(); ctx.moveTo(e.clientX - canvas.offsetLeft, e.clientY - canvas.offsetTop); mouseMoves.push({x: e.clientX - canvas.offsetLeft, y: e.clientY - canvas.offsetTop}); }); canvas.addEventListener("mousemove", function(e) { if (isDrawing) { ctx.lineTo(e.clientX - canvas.offsetLeft, e.clientY - canvas.offsetTop); ctx.stroke(); mouseMoves.push({x: e.clientX - canvas.offsetLeft, y: e.clientY - canvas.offsetTop}); } }); canvas.addEventListener("mouseup", function(e) { isDrawing = false; }); // 将 mouseMoves 发送到后台进行处理 </script> </body> </html> ``` 在这个示例代码中,我们创建了一个Canvas元素,并绑定了鼠标事件。当用户按下鼠标左键时,我们开始绘制路径,并将路径的起点设置为鼠标当前位置,并将当前位置添加到 `mouseMoves` 数组中。当用户移动鼠标时,如果正在绘制路径,则将路径的终点设置为鼠标当前位置,并绘制出路径,同时将当前位置添加到 `mouseMoves` 数组中。当用户松开鼠标左键时,停止绘制路径。 最后,我们可以将 `mouseMoves` 数组发送到后台进行处理。 你可以根据自己的需求修改这个示例代码,实现在Canvas上绘制出自己的名字并获取鼠标移动轨迹。需要注意的是,对用户的隐私应该保护,不应该收集任何敏感信息,同时也需要遵守相关的法律法规。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值