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类中获取外部函数名的方法与代码
Sep 12 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
Apr 23 Javascript
jquery如何判断某元素是否具备指定的样式
Nov 05 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
Javascript中innerHTML用法实例分析
Jan 12 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
js canvas实现二维码和图片合成的海报
Nov 19 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
JavaScript实现打字游戏
Feb 19 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
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python中字符串内置函数的用法总结
2018/09/13 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
通过实例解析python描述符原理作用
2020/01/22 Python
python zip()函数的使用示例
2020/09/23 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
一年级数学下册复习计划
2015/01/17 职场文书
学生检讨书范文
2015/01/27 职场文书
六一儿童节开幕词
2015/01/29 职场文书
师德师风培训感言
2015/08/03 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP