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 相关文章推荐
有趣的javascript数组定义方法
Sep 10 Javascript
jquery设置按钮停顿3秒不可用
Mar 07 Javascript
jQuery中triggerHandler()方法用法实例
Jan 19 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
Javascript动画效果(2)
Oct 11 Javascript
vue中的event bus非父子组件通信解析
Oct 27 Javascript
在vue项目中使用md5加密的方法
Sep 14 Javascript
DatePickerDialog 自定义样式及使用全解
Jul 09 Javascript
vue.js实现只能输入数字的输入框
Oct 19 Javascript
用JavaScript实现贪吃蛇游戏
Oct 23 Javascript
vue render函数动态加载img的src路径操作
Oct 26 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
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
彻底搞懂Python字符编码
2018/01/23 Python
python并发和异步编程实例
2018/11/15 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Python Celery多队列配置代码实例
2019/11/22 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
测控技术与仪器个人求职信范文
2013/12/30 职场文书
美容院经理岗位职责
2014/04/03 职场文书
2014年征兵标语
2014/06/20 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
学历证明样本
2015/06/16 职场文书
婚宴来宾致辞
2015/07/28 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书