鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)


Posted in Javascript onDecember 14, 2013

如下所示:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        .toopTip
        {
            background-color:Yellow;
            border-style:solid;
            border-width:1px;
            border-color:Red;
        }
    </style>
   <script language="javascript" type="text/javascript">
       /*
            如果希望提示的div的左边界与上边界与显示的div重叠,那么需要删除文档头W3C标准
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">       */
       function initEvent() {
           var divArray = document.getElementsByTagName("div");
           for (var i = 0; i < divArray.length; i++) {
               divArray[i].onmouseover = createDivDetailOne;
               /*
                 无法用原始的div绑定鼠标移走的事件,因为明细的div的宽度长度都要大于原始div,
                 这样原始的div就被覆盖了,此时会自动触发onmouseout事件
               */
               //divArray[i].onmouseout = removeDivDetail;
           }
       }
       function createDivDetailOne() {
           //保证divDetail div的唯一性
           var divDetail = document.getElementById("divDetail");
           if(divDetail)
           {
               document.body.removeChild(divDetail);
           }
           divObj = document.createElement("div");
           divObj.className = "toopTip";
           divObj.setAttribute("id", "divDetail");
           divObj.style.position = "absolute";
           divObj.style.width = "200px";
           divObj.style.height = "100px";
           var triggerObj = window.event.srcElement;
           divObj.style.top = triggerObj.offsetTop;
           divObj.style.left = triggerObj.offsetLeft;
           divObj.innerHTML = triggerObj.innerText;
           document.body.appendChild(divObj);
           //此时用于明细的div已经覆盖了原div,所以覆盖的div要进行事件的处理
           document.getElementById("divDetail").onmouseout = function() {
               divObj = this;
               if (!divObj) {
                   return;
               }
               document.body.removeChild(divObj);
           };
       }
       function removeDivDetail() {
           var divObj = document.getElementById("divDetail");
           if (!divObj) {
               return;
           }
           document.body.removeChild(divObj);
       }


       window.onload = initEvent;
    </script>

</head>
<body>
    <div id="divOne" style="background-color: Fuchsia; width: 100px; height: 100px;" >
        Hello My Js World!
    </div>
    <div id="divTwo" style="background-color: Aqua; width: 100px; height: 100px">
        Welcome to My Js World!
    </div>
    <div id="divThree" style="background-color: Gray; width: 100px; height: 100px">
        THIS IS My Js World!
    </div>
</body>
</html>
Javascript 相关文章推荐
javascript getElementsByClassName实现代码
Oct 11 Javascript
jQuery实现表头固定效果的实例代码
May 24 Javascript
javascript实现禁止复制网页内容
Dec 16 Javascript
Js实现无刷新删除内容
Apr 29 Javascript
Bootstrap媒体对象的实现
May 01 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
详解node-ccap模块生成captcha验证码
Jul 01 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
浅谈js中的bind
Mar 18 Javascript
js实现文章目录索引导航(table of content)
May 10 Javascript
js仿京东放大镜效果
Aug 09 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 #Javascript
js 上下左右键控制焦点(示例代码)
Dec 14 #Javascript
利用JS来控制键盘的上下左右键(示例代码)
Dec 14 #Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 #Javascript
代码触发js事件(click、change)示例应用
Dec 13 #Javascript
jquery获得option的值和对option进行操作
Dec 13 #Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
Dec 13 #Javascript
You might like
php无限极分类实现的两种解决方法
2013/04/28 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
php常用数组函数实例小结
2016/12/29 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
Django学习笔记之ORM基础教程
2018/03/27 Python
python 检查文件mime类型的方法
2018/12/08 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
使用Python实现牛顿法求极值
2020/02/10 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
交通安全教育制度
2014/02/02 职场文书
校庆活动方案
2014/03/31 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
党代会心得体会
2014/09/04 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2014年化验室工作总结
2014/11/21 职场文书
总经理检讨书范文
2015/02/16 职场文书
代理词怎么写
2015/05/25 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
pycharm无法安装cv2模块问题
2022/05/20 Python