鼠标移到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 相关文章推荐
文字幻灯片
Jun 26 Javascript
jquery监听div内容的变化具体实现思路
Nov 04 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
AngularJS实现表单验证
Jan 28 Javascript
swtich/if...else的替代语句
Aug 16 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 Javascript
ES6中定义类和对象的方法示例
Jul 31 Javascript
Javascript模块化机制实现原理详解
Apr 02 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页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
python爬取51job中hr的邮箱
2016/05/14 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
天地会口号
2014/06/17 职场文书
教师求职信
2014/06/17 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
《确定位置》教学反思
2016/02/18 职场文书
企业管理不到位检讨书
2019/06/27 职场文书