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(来自ibm)
Nov 10 Javascript
jquery显示隐藏input对象
Jul 21 Javascript
jQuery中change事件用法实例
Dec 26 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
利用Javascript实现简单的转盘抽奖
Feb 13 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 Javascript
JavaScript轮播停留效果的实现思路
May 24 Javascript
JS中的算法与数据结构之列表(List)实例详解
Aug 16 Javascript
在vue中使用Echarts画曲线图的示例
Oct 03 Javascript
vscode自定义vue模板的实现
Jan 27 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开发GUI
2006/10/09 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
js arguments对象应用介绍
2012/11/28 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
Python中http请求方法库汇总
2016/01/06 Python
python2.7的编码问题与解决方法
2016/10/04 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
python实现猜拳游戏
2020/03/04 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
挪威手表购物网站:Klokker
2016/09/19 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
2019年工作总结范文
2019/05/21 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js