鼠标移到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 相关文章推荐
js函数获取html中className所在的内容并去除标签
Sep 08 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
Oct 22 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
jQuery 3.0 的变化及使用方法
Feb 01 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
深入理解ES7的async/await的用法
Sep 09 Javascript
JavaScript实现短信倒计时60s
Oct 09 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
在element-ui的select下拉框加上滚动加载
Apr 18 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
解决vue scoped scss 无效的问题
Sep 04 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木马攻击防御之道
2008/03/24 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
2014过年倒计时示例
2014/01/31 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
使用p5.js临摹动态图形
2019/10/23 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
详解Python中的join()函数的用法
2015/04/07 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
25道Java面试题集合
2013/05/21 面试题
电子商务专业应届毕业生求职信
2014/06/21 职场文书
少先队活动总结
2014/08/29 职场文书
js实现自动锁屏功能
2021/06/02 Javascript
openstack云计算keystone组件工作介绍
2022/04/20 Servers
MySQL 原理与优化之Update 优化
2022/08/14 MySQL