js判断鼠标位置是否在某个div中的方法


Posted in Javascript onFebruary 26, 2016

本文实例讲述了js判断鼠标位置是否在某个div中的方法。分享给大家供大家参考,具体如下:

div的onmouseout事件让div消失时,会出现这样的情况,就是当鼠标移至div中的其它内容时,此时也判定为离开div,会触发 onmouseout事件,这样div中的内容就不能操作了。解决的办法是当触发onmouseout事件时,先判断鼠标是否在div内,如果在,说明鼠 标并没有离开div,就不删除div,否则,删除之。OK,现在问题解决了。
就是找到该div左上角和右下角坐标,判断鼠标的坐标是否在这一区域就可以了。

div.onmouseout=function(event){
    var div = document.getElementById("test");
    var x=event.clientX;
    var y=event.clientY;
    var divx1 = div.offsetLeft;
    var divy1 = div.offsetTop;
    var divx2 = div.offsetLeft + div.offsetWidth;
    var divy2 = div.offsetTop + div.offsetHeight;
    if( x < divx1 || x > divx2 || y < divy1 || y > divy2){
    //如果离开,则执行。。
}

后面为一些常用属性方便查找

clientHeight     获取对象的高度,不计算任何边距、边框、滚动条,但包括该对象的补白。
clientLeft     获取    offsetLeft     属性和客户区域的实际左边之间的距离。
clientTop     获取    offsetTop     属性和客户区域的实际顶端之间的距离。
clientWidth     获取对象的宽度,不计算任何边距、边框、滚动条,但包括该对象的补白。
offsetHeight     获取对象相对于版面或由父坐标    offsetParent     属性指定的父坐标的高度。
offsetLeft     获取对象相对于版面或由    offsetParent     属性指定的父坐标的计算左侧位置。
offsetParent     获取定义对象    offsetTop     和    offsetLeft     属性的容器对象的引用。
offsetTop     获取对象相对于版面或由    offsetTop     属性指定的父坐标的计算顶端位置。
offsetWidth     获取对象相对于版面或由父坐标    offsetParent     属性指定的父坐标的宽度。
offsetX     设置或获取鼠标指针位置相对于触发事件的对象的    x     坐标。
offsetY     设置或获取鼠标指针位置相对于触发事件的对象的    y     坐标。
clientX,clientY   鼠标当前相对于网页的位置,当鼠标位于页面左上角时clientX=0, clientY=0
screenX, screenY是相对于用户显示器的位置

网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth    (包括边线的宽)
网页可见区域高: document.body.offsetHeight   (包括边线的宽)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
用javascript动态调整iframe高度的代码
Apr 10 Javascript
javascript中apply和call方法的作用及区别说明
Feb 14 Javascript
jquery实现瀑布流效果分享
Mar 26 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
Sep 04 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
Mar 05 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
May 22 Javascript
详解关于vue-area-linkage走过的坑
Jun 27 Javascript
Vue 中如何正确引入第三方模块的方法步骤
May 05 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 Javascript
超实用的JavaScript表单代码段
Feb 26 #Javascript
理解javascript中Map代替循环
Feb 26 #Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 #Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 #Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
Feb 25 #Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 #Javascript
javascript动态获取登录时间和在线时长
Feb 25 #Javascript
You might like
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
详解php命令注入攻击
2019/04/06 PHP
JavaScript面象对象设计
2008/04/28 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
jquery仿苹果的时间/日期选择效果
2017/03/08 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python 图像平移和旋转的实例
2019/01/10 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
应届护士推荐信
2013/11/16 职场文书
遗体告别仪式答谢词
2014/01/23 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
委托书的样本
2015/01/28 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
Nginx源码编译安装过程记录
2021/11/17 Servers
Python实现视频自动打码的示例代码
2022/04/08 Python