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实现代码
Mar 05 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
Jun 29 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
ES6通过babel转码使用webpack使用import关键字
Dec 13 Javascript
JS瀑布流实现方法实例分析
Dec 19 Javascript
jQuery图片切换动画效果
Feb 28 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
vue 表单验证按钮事件交由父组件触发的方法
Dec 17 Javascript
js实现图片实时时钟
Jan 15 Javascript
js实现视图和数据双向绑定的方法分析
Feb 05 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
May 15 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 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中删除变量时unset()和null的区别分析
2011/01/27 PHP
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
vue中的inject学习教程
2019/04/24 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
JS中多层次排序算法的实现代码
2021/01/06 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
transform python环境快速配置方法
2018/09/27 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
教学质量评估实施方案
2014/03/17 职场文书
市场部经理岗位职责
2014/04/10 职场文书
运动会演讲稿50字
2014/08/25 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
英语教师个人总结
2015/02/09 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang
带你了解Java中的ForkJoin
2022/04/28 Java/Android