事件对象event案例-鼠标跟随移动

基础概念

只有在注册的事件函数中,才可以获取事件对象event

高级浏览器使用事件函数的形参获取,低版本浏览器使用window.event对象获取

// 处理兼容方式获取event对象
btn.onclick = function(e){
  e = e || window.event
}

事件的event对象是系统封装的,这个对象当中封装了和这个事件相关的一切信息,在不同的事件中,需要获取的内容不一样

鼠标的位置

  • 客户端可视区 Client
  • 页面文档区 Page
  • 目标阶段的元素区 Offset
 // 1.5 鼠标的位置也是存在于事件对象当中
window.onclick = function(e){
  // 鼠标在视口区域的坐标,以视口左上角为原点,跟页面高度没有关系
  console.log(e.clientX, e.clientY);
  // 鼠标在页面中的坐标,以页面左上角为原点
  console.log(e.pageX, e.pageY);
  // 鼠标在目标阶段的元素中(块元素)的坐标,以自身元素左上角为原点
  console.log(e.offsetX, e.offsetY);
}

案例-鼠标跟随移动

将来让盒子移动位置的方式,无非就是实时获取这些坐标,然后给盒子赋值移动即可;

<body>
  <div>
    <img src='./imgs/01.png' alt='' style="left: 0; top: 0; position: absolute">
  </div>
  <script>
  var pic = document.querySelector('img');
    document.onmousemove = function(e){
      e = e || window.event;
      pic.style.left = e.clientX + 'px';
      pic.style.top = e.clientY + 'px';
    }
  </script>
</body>
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山里没有wifi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值