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计数器代码
Nov 04 Javascript
固定网页背景图同时保持图片比例的思路代码
Aug 15 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
Apr 10 Javascript
JavaScript File分段上传
Mar 10 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
基于twbsPagination.js分页插件使用心得(分享)
Oct 21 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
Mar 01 Javascript
Vue编程式跳转的实例代码详解
Jul 10 Javascript
Vue.js标签页组件使用方法详解
Oct 19 Javascript
基于form-data请求格式详解
Oct 29 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
Jan 22 Javascript
微信小程序手动添加收货地址省市区联动
May 18 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
日本十大惊悚动漫
2020/03/04 日漫
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
php include加载文件两种方式效率比较
2010/08/08 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
thinkphp分页集成实例
2017/07/24 PHP
jQuery Tools tab使用介绍
2012/07/14 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
django中静态文件配置static的方法
2018/05/20 Python
Python单元测试实例详解
2018/05/25 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Python处理PDF与CDF实例
2020/02/26 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
企业节能减排实施方案
2014/03/19 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书