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 相关文章推荐
js 利用className得到对象的实现代码
Nov 15 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
Jan 11 Javascript
js判断输入是否为数字的具体实例
Aug 03 Javascript
JavaScript中的比较操作符&gt;、=、
Dec 31 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
javascript的 {} 语句块详解
Feb 27 Javascript
Node 自动化部署的方法
Oct 17 Javascript
基于Vue2x的图片预览插件的示例代码
May 14 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 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 采集程序原理分析篇
2010/03/05 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
深入解析php之sphinx
2013/05/15 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
JS实现简单日历特效
2020/01/03 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
python登录豆瓣并发帖的方法
2015/07/08 Python
Python中常见的数据类型小结
2015/08/29 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
请说出你所知道的线程同步的方法
2013/04/19 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
委托公证书格式
2015/01/26 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python