博客列表 >实时获取鼠标在div中的坐标--2019年3月29日

实时获取鼠标在div中的坐标--2019年3月29日

王先生的博客
王先生的博客原创
2019年03月30日 16:14:31717浏览

通过听课和练习  使用入口函数, 获取元素 获取xy的坐标 最终显示在页面中  鼠标使用的是e.client  而元素使用的是  offsetLeft/Top  思路清晰了 不蓝 哈


实例

<!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>
  <style type="text/css">
    #box{
      width: 500px;
      height: 500px;
      margin: 0 auto;
      background: pink;
    }
  </style>
</head>
<body>
  <p>当前坐标是:<b id="show">(0,0)</b></p>
  <p>div内部坐标是:<b id="show1">(0,0)</b></p>
  <div id="box"></div>
</body>
<script type="text/javascript">
  window.onload=function(){
    var show=document.getElementById('show');
    var box=document.getElementById('box');
    var show1=document.getElementById('show1');
    window.onmousemove=function(event){
      var e=event||window.event;
      var x=e.clientX;
      var y=e.clientY;   
      show.innerHTML="("+x+","+y+")";
    }
    box.onmousemove=function(event){
      var e=event||window.event;
      var x=e.clientX;
      var y=e.clientY;
      var b_x=box.offsetLeft;
      var b_y=box.offsetTop;
      var show_x=x-b_x;
      var show_y=y-b_y;
      show1.innerHTML="("+show_x+","+show_y+")";
    }
  }
</script>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


本小节需要记忆的是

1:入口函数  页面加载完成后就执行  window.onload

2:鼠标移动事件: onmousemove

3:兼容  var e=event||window.event;

4:鼠标获取坐标    e.clientX/Y

5:元素获取坐标  this.offsetTop  前提是在本函数中 如果不是 就要使用获取到的元素变量


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议