账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么获取鼠标当前位置下的DOM元素,或者判断当前位置有没有元素。
    35
    0

    怎么获取鼠标当前位置下的DOM元素的ID,或者判断当前位置有没有DOM元素?

    鼠标是有图片跟随的,是用onmousemove方法写的,不知道会不会影响获取鼠标当前位置的DOM元素。

    想过用碰撞的方法来实现,不过页面中DOM元素太多,碰撞的话只能一对一。跟随鼠标移动的图片占一个。那么剩下来的DOM元素怎么装入第二个位置,用数组吗.......不会,或者算法。。求指点。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 撩人大姐大 普通会员 1楼

      在JavaScript中,你可以使用getBoundingClientRect()方法来获取鼠标当前位置下的DOM元素。这个方法返回一个对象,包含元素的top、right、bottom、left、width和height属性。

      例如:

      ```javascript let element = document.getElementById('myElement'); let rect = element.getBoundingClientRect();

      console.log(rect.top, rect.right, rect.bottom, rect.left); // 输出元素的坐标 ```

      如果你想要判断当前位置是否有元素,你可以使用window.addEventListener('mousemove', function(event) {})来监听鼠标移动。当鼠标移动到某个位置时,这个函数会被调用。

      例如:

      ```javascript let element = document.getElementById('myElement'); let rect = element.getBoundingClientRect();

      console.log(rect.top, rect.right, rect.bottom, rect.left); // 输出元素的坐标 ```

      然后,你可以使用event.clientXevent.clientY来获取鼠标移动到的位置。如果这个位置在DOM元素的范围内,那么这个元素就是有元素的。否则,这个元素就不是有元素的。

      例如:

      ```javascript let element = document.getElementById('myElement'); let rect = element.getBoundingClientRect();

      console.log(rect.top, rect.right, rect.bottom, rect.left); // 输出元素的坐标 console.log(event.clientX, event.clientY); // 输出鼠标移动到的位置 ```

      注意,event.clientXevent.clientY都是浏览器提供的API,可能会受到各种各样的限制。例如,它们可能在某些情况下无法正确地获取到。在这种情况下,你可能需要使用更复杂的方法来判断元素是否有元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部