鼠标移到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 相关文章推荐
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
Oct 21 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
Jul 31 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
Apr 12 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
Aug 05 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
Mar 23 Javascript
利用JS制作万年历的方法
Aug 16 Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 Javascript
layui 对弹窗 form表单赋值的实现方法
Sep 04 Javascript
vue全局使用axios的操作
Sep 08 Javascript
js实现购物车商品数量加减
Sep 21 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
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
理解JavaScript中的事件
2006/09/23 Javascript
js 加载时自动调整图片大小
2008/05/28 Javascript
Ruffy javascript 学习笔记
2009/11/30 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python异常处理操作实例详解
2018/05/10 Python
Python3数字求和的实例
2019/02/19 Python
python远程连接MySQL数据库
2019/04/19 Python
对于Python深浅拷贝的理解
2019/07/29 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
南湾猴岛导游词
2015/02/09 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
漫画「处刑少女的生存之道」第3卷封面公开
2022/03/21 日漫
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js