js问题,为什么代码这样写是错的?

问题描述:

<!DOCTYPE html>
<html lang="en">

<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <style>
            #box1 {
                  width: 300px;
                  height: 300px;
                  border: 1px solid black;
                  position: absolute;
                  left: 30px;
                  top: 30px;
            }

            #box1 img {
                  width: 100%;
                  height: 100%;
            }

            #box2 {
                  width: 600px;
                  height: 600px;
                  border: 1px solid black;
                  position: absolute;
                  left: 500px;
                  top: 30px;
            }

            #box2 img {
                  width: 100%;
                  height: 100%;
            }

            #mengceng {
                  display: none;
                  width: 70px;
                  height: 70px;
                  background-color: black;
                  position: absolute;
                  top: 0;
                  left: 0;
                  opacity: 0.5;
            }
      </style>
      <script>
            window.onload = function () {
                  var BOX1 = document.getElementById("box1");
                  var BOX2 = document.getElementById("box2");
                  var Mengceng = document.getElementById("mengceng");

                  BOX1.onmouseover = function () {
                        Mengceng.style.display = "block";
                  }
                  BOX1.onmouseout = function () {
                        Mengceng.style.display = "none";
                  }

                  BOX1.onmousemove = function(ev){
                        var e = ev || window.event;
                        if(e.clientX <= 60){
                              e.clientX  = 60;
                        }
                        Mengceng.style.left = e.clientX - 60 + "px";
                        Mengceng.style.top = e.clientY - 60 + "px";   
                  }
                  
            }
      </script>
</head>
<body>
      <div id="box1">
            <img src="../图片的使用/放大镜图片.jfif" alt="">
            <div id="mengceng"></div>
      </div>
      <div id="box2">
            <img src="../图片的使用/放大镜图片.jfif" alt="">
      </div>
</body>

</html>

为什么这段代码if(e.clientX <= 60){

                              e.clientX  = 60;

                        }

无法让蒙层框不出左边界?

e.clientX的值是只读的,不能修改,你可以定义一个变量,

变量获取e.clientX的值,判断后改变。