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 相关文章推荐
jquery复选框CHECKBOX全选、反选
Aug 30 Javascript
js精度溢出解决方案
Dec 02 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
May 04 Javascript
浅谈jQuery操作类数组的工具方法
Dec 23 Javascript
从零学习node.js之模块规范(一)
Feb 21 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
web前端页面生成exe可执行文件的方法
Feb 08 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
JS document对象简单用法完整示例
Jan 14 Javascript
如何vue使用el-table遍历循环表头和表体数据
Apr 26 Vue.js
超实用的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个人网站架设连环讲(一)
2006/10/09 PHP
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
jquery仿苹果的时间/日期选择效果
2017/03/08 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
Python3数字求和的实例
2019/02/19 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
计算机网络专业推荐信
2013/11/24 职场文书
七年级英语教学反思
2014/01/15 职场文书
生产部管理制度
2014/01/31 职场文书
谢师宴邀请函
2015/02/02 职场文书
美容院员工规章制度
2015/08/05 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
Python中else的三种使用场景
2021/06/16 Python
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python