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 表单验证常见正则
Sep 28 Javascript
JS 用6N±1法求素数 实例教程
Oct 20 Javascript
JQuery 图片延迟加载并等比缩放插件
Nov 09 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 Javascript
js写一个字符串转成驼峰的实例
Jun 21 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
Sep 04 Javascript
jQuery实现鼠标经过事件的延时处理效果
Aug 20 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
原生JS实现$.param() 函数的方法
Aug 10 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
Jun 01 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提示undefined index的几种解决方法
2012/05/21 PHP
php多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
详解php反序列化
2020/06/10 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python之pandas用法大全
2018/03/13 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
python3下载抖音视频的完整代码
2019/06/05 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
Linux文件操作命令都有哪些
2016/07/23 面试题
Linux开机引导的步骤是什么
2014/02/26 面试题
大学生怎样写好自荐信
2014/02/25 职场文书
老师对学生的寄语
2014/04/09 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
法人代表资格证明书
2015/06/18 职场文书
高中优秀作文(范文)
2019/08/15 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS