小兔网

本文实例讲述了js判断鼠标位置是否在某个p中的方法。分享给大家供大家参考,具体如下:

p的onmouseout事件让p消失时,会出现这样的情况,就是当鼠标移至p中的其它内容时,此时也判定为离开p,会触发 onmouseout事件,这样p中的内容就不能操作了。解决的办法是当触发onmouseout事件时,先判断鼠标是否在p内,如果在,说明鼠 标并没有离开p,就不删除p,否则,删除之。OK,现在问题解决了。
就是找到该p左上角和右下角坐标,判断鼠标的坐标是否在这一区域就可以了。

p.onmouseout=function(event){    var p = document.getElementById("test");    var x=event.clientX;    var y=event.clientY;    var px1 = p.offsetLeft;    var py1 = p.offsetTop;    var px2 = p.offsetLeft + p.offsetWidth;    var py2 = p.offsetTop + p.offsetHeight;    if( x < px1 || x > px2 || y < py1 || y > py2){    //如果离开,则执行。。}

后面为一些常用属性方便查找

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=0screenX, 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

以上就是js判断鼠标位置是否在某个div中的方法_javascript技巧的内容,更多相关内容请关注小兔网(www.zhishitu.com)!