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

[javascript] view plaincopyprint?

div.onmouseout=function(event){ 

                        var div = document.getElementById("test"); 

                    <span style="color:#FF6600;">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;  </span> 

                        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

本文出自:http://binbinwudi.iteye.com/blog/1915135

js判断鼠标位置是否在某个div中的更多相关文章

  1. JS判断鼠标从哪个方向进入DIV容器

    写的不够高大上 , 不要介意哦... Js: //进去 $(".flash").bind("mouseenter",function(e){ /** the w ...

  2. JS 判断鼠标滚轮的上下滚动

    JS 判断鼠标滚轮的上下滚动   <script type="text/javascript"> var scrollFunc = function (e) { e = ...

  3. JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题

    1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...

  4. JS判断鼠标移入元素的方向

    最终效果 这里的关键主要是判断鼠标是从哪个方向进入和离开的 $("li").on("mouseenter mouseleave",function(e) { v ...

  5. JS判断鼠标从什么方向进入一个容器

    偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题.首先想到的是给容器的四个边添加几个块,然后看鼠标进入的时候哪个块先监听到鼠标事件.不过这样麻烦太多了.google了一下找到了一个不错的解决方 ...

  6. 2015.10.11(js判断鼠标进入容器的方向)

    判断鼠标进入容器的方向 1.前几天在万圣节专题项目中用到了鼠标坐标page事件,随着鼠标背景图片移动形成有层次感的效果,但page事件在IE低版本不支持,所以还要做兼容.在研究page事件同时无意中想 ...

  7. JS获取鼠标位置,兼容IE FF

    由于Firefox和IE等浏览器之间对js解释的方式不一样,firefox下面获取鼠标位置不能够直接使用clientX来获取.网上说的一般都是触发mousemove事件才行.我这里有两段代码,思路都一 ...

  8. js判断鼠标是否停止移动

    本程序实现当鼠标在一个特定的div内悬停n秒时,判断出已经停止移动. 思路: 1.定义全局变量鼠标移动状态imouse,定时器timer.当鼠标在div内移动时,imouse值为1,相反静止时值为0: ...

  9. js判断鼠标向上滚动并浮动导航

    <div id="Jnav"> <ul class="nav"> <li><a href="#"& ...

随机推荐

  1. Linux下永久修改主机名

    红帽系列的Linux发行版主机名存放位置是/etc/sysconfig/network,Ubuntu Linux主机名存放位置是/etc/hostname,所以只要修改主机名存放文件便可以永久的修改计 ...

  2. GLSL Entry point not found

    解决方案: 在引用OpenGL的头文件 #include <GL/glew.h>#include <GL/glut.h> 前添加 #define GLUT_DISABLE_AT ...

  3. 查看nginx版本号

    # ./nginx -v Tengine version: Tengine/ (nginx/)

  4. .net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串

    1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建 ...

  5. 在jsfiddle作在线angular测试,蛮有意思的

    jsfiddle.net 快速学知识,比本地自己弄快,当然,不能用于太复杂的应用啦.. 比如:学到directive的scope继承隔离作用域时,就可以这样弄. scope 可选参数,(布尔值或者对象 ...

  6. 远程登录 - telnet、mstsc等工具的使用及遇到的问题

    刚开始是看到老师在用mstsc远程登录oj服务器桌面对“远程登录”一系列的方法开始感兴趣.下面是我的学习笔记及遇到的一些问题的整理. Mstsc - 百度百科:http://baike.baidu.c ...

  7. Java Hour6

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为5 Hour,请各位不吝赐教. Hour6 Jav ...

  8. eclipse 中的 jar file 和 runnable jar file的区别

    转自于:http://blog.csdn.net/lijiecong/article/details/6266234 java最难学的就是角落的东东了,不愧叫做java平台.搜索了一把总算明白了. 直 ...

  9. google svn 服务器使用(免费SVN服务器)

    转自:http://hi.baidu.com/%C0%AF%B1%CA%B9%A4%D7%F7%CA%D2/blog/item/d6f6c6d7707d81d0a044df5f.html 1. 进入h ...

  10. android操作XML的几种方式(转)

    XML作为一种业界公认的数据交换格式,在各个平台与语言之上,都有广泛使用和实现.其标准型,可靠性,安全性......毋庸置疑.在android平台上,我们要想实现数据存储和数据交换,经常会使用到xml ...