js判断鼠标移入移出方向的方法


Posted in Javascript onJune 24, 2020

PC端鼠标移入移出的效果很好,这里就给出判断鼠标移入移出的方法,有空再发出带效果的文章,不过授之以鱼不如受之以渔,有了个这个方法,效果不还是so easy吗?

代码:

<!DOCTYPE html>
<html lang="zh">
 <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></title>
 <style type="text/css">
 * {
 padding: 0;
 margin: 0;
 }
 
 .ul-box {
 width: 345px;
 margin: 20px auto;
 background-color: #f5f5f5;
 overflow: auto;
 }
 
 .li-item {
 width: 100%;
 height: 134px;
 margin-bottom: 10px;
 border-radius: 4px;
 }
 
 .li-item1 {
 background: linear-gradient(90deg, #7f90e3 0%, #8b9bff 100%);
 }
 </style>
 </head>
 <body>
 <ul id="ulBox" class="ul-box">
 <li class="li-item li-item1" onmouseleave="derEvent(event, 'leave')" onmouseenter="derEvent(event, 'enter')"></li>
 </ul>
 </body>
 <script type="text/javascript">
 /**
 * @param {Object} event 当前事件源信息
 * @return {Number} d 方向 top 0 right 1 bottom 2 left 3
 */
 function getDer(event) {
 let ele = event.target
 var d;
 var w = ele.offsetWidth,
 h = ele.offsetHeight,
 l = ele.offsetLeft,
 t = ele.offsetTop,
 x = (event.clientX - l - w / 2) * (w > h ? (h / w) : 1),
 y = (event.clientY - t - h / 2) * (h > w ? (w / h) : 1);
 d = (Math.round((Math.atan2(y, x) * (180 / Math.PI) + 180) / 90) + 3) % 4;
 return d;
 // top 0 right 1 bottom 2 left 3
 }
 /**
 * @param {Object} event 事件源信息
 * @param {Object} type 类型 leave 离开 色 enter 进入
 */
 function derEvent(event, type) {
 let d = getDer(event)
 let txt = ''
 switch (d) {
 case 0:
  txt = '上'
  break;
 case 1:
  txt = '右'
  break;
 case 2:
  txt = '下'
  break;
 case 3:
  txt = '左'
  break;
 default:
  break;
 }
 if (type === 'leave') {
 console.log(txt, '离开')
 } else {
 console.log(txt, '进入')
 }
 }
 </script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js URL参数的拼接方法比较
Feb 15 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
js实现大转盘抽奖游戏实例
Jun 24 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
原生js实现打字动画游戏
Feb 04 Javascript
浅谈JS对象添加getter与setter的5种方法
Jun 09 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
JS实现倒序输出的几种常用方法示例
Apr 13 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 Javascript
JS如何实现动态添加的元素绑定事件
Nov 12 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 #Javascript
JS script脚本中async和defer区别详解
Jun 24 #Javascript
javascript实现前端分页效果
Jun 24 #Javascript
JS实现多选框的操作
Jun 24 #Javascript
微信小程序实现发微博功能的示例代码
Jun 24 #Javascript
JavaScript实现答题评分功能页面
Jun 24 #Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 #Javascript
You might like
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
php中异常处理方法小结
2015/01/09 PHP
php绘制一个矩形的方法
2015/01/24 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
javascript实现异形滚动轮播
2019/11/28 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python实现Decorator模式实例代码
2018/02/09 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
将python图片转为二进制文本的实例
2019/01/24 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
企业申诉管理制度
2014/01/30 职场文书
中青班党性分析材料
2014/02/16 职场文书
教育技术职业规划范文
2014/03/04 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python