欢迎光临
我们一直在努力

JavaScript如何实现鼠标移动事件

这篇文章主要介绍了JavaScript如何实现鼠标移动事件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript如何实现鼠标移动事件文章都会有所收获,下面我们一起来看看吧。

实现功能

鼠标点击时可以在画板上画画
如果鼠标双击那么停止
移动进画板颜色改变移除时颜色改变

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }
    .drawbox {
      width: 1100px;
      height: 600px;
      background-color: skyblue;
      position: relative;
    }
  </style>
  <body>
    <div class="drawbox"></div>
    <script>
      /* 
        1.鼠标点击时可以在画板上画画
        如果鼠标双击那么停止
        移动进画板颜色改变移除时颜色改变
        */
      var darwbox = document.querySelector("div");
      darwbox.onmouseenter = function() {
        darwbox.style.backgroundColor = "red";
      };
      darwbox.onmouseleave = function() {
        darwbox.style.backgroundColor = "skyblue";
      };
      var istrue = false;
      darwbox.onmousedown = function(e) {
        istrue = true;
      };
      darwbox.onmousemove = function(e) {
        if (istrue == true) {
          var x = e.pageX;
          var y = e.pageY;
          var circle = document.createElement("div");
          circle.style.width = "10px";
          circle.style.height = "10px";
          circle.style.backgroundColor = "#fff";
          circle.style.position = "absolute";
          circle.style.left = x - 5 + "px";
          circle.style.top = y - 5 + "px";
          circle.style.borderRadius = "50%";
         
          darwbox.appendChild(circle);
        }
      };
      darwbox.onmouseup = function(e) {
        istrue = false;
      };
    </script>
  </body>
</html>

效果图:

关于“JavaScript如何实现鼠标移动事件”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JavaScript如何实现鼠标移动事件”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注云搜网行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。