一、效果图

二、需求描述

  1、鼠标经过table每一行时,弹出div动态提示语;

  2、div弹出层的位置随鼠标位置的变化而变化;

  3、鼠标离开table或获取的动态提示语为空时,div弹出层消失。

  下面我做了一个简单的实现,第一次在博客园写随笔记录下来。

三、实现思路

  1、设计一个div弹出层的样式。该div在页面只有一个,哪里需要就往哪里搬。

  2、获取并保存鼠标的位置,定位div弹出层的位置。

  3、获取table每行隐藏的提示语,设置到div中区显示。

  4、使用鼠标经过和离开事件,对div进行控制。

四、具体实现步骤

  1、定义div的HTML代码如下:

  <div class="hoverdiv">
    <div style="text-align: center; vertical-align: middle;"><label id="message" style="color: #000000;"></label></div>
  </div>

  //保存鼠标的位置

  <input type="hidden" id="pagex" />

  <input type="hidden" id="pagey" />

  2、div样式 

  <style type="text/css">
    .blockdiv{
      width:285px;
      height:30px;
      display:none;
      left: 977px;
      top: 300px;
      position: absolute;
      z-index:1002;
      opacity:1;
      background:#D6D6D6;
    }
  </style>

  3、需要鼠标经过table每一行,弹出div,table设计如下:

  <table>
    <thead>
      <tr>
        <th class="center">name</th>
        <th>pass</th>
      </tr>
    </thead>
    <tbody>
    #foreach(${item} in ${draftPage.result})
      <tr class="hoverTag">
        <td>
          <label>
            <input type="hidden" name="message" value="$!dateTool.format("yyyy-MM-dd HH:mm:ss", $!{item.tagTime})">

          </label>
        </td>
        <td>$!{item.name}</td>
        <td>$!{item.pass}</td>
      </tr>
    #end
    </tbody
  </table>

  4、鼠标经过和离开事件处理如下:

  <script>
    //获取鼠标的位置,并保存到页面隐藏域中
    $(document).mousemove(function (e) {
      document.getElementById("pagex").value = e.pageX;//pageX() 属性是鼠标指针的位置,相对于文档的左边缘。
      document.getElementById("pagey").value = e.pageY;//pageY() 属性是鼠标指针的位置,相对于文档的上边缘。
    });

    var MouseEvent = function(e){
      this.x = e.pageX;
      this.y = e.pageY;
    }

    var Mouse = function(e){
      var kdheight = jQuery(document).scrollTop();
      mouse = new MouseEvent(e);
      leftpx = mouse.x+15;
      toppx = mouse.y-10;
    }

    $(".hoverTag").hover(
      function (e) {//鼠标经过时业务处理

        Mouse(e);
        var message = e.currentTarget.firstElementChild.firstElementChild.lastElementChild.defaultValue;
        if(message == null || message == '' || message == undefined){
          $(".hoverdiv").css({
            "display": "none",
          });
          $("#message").html("");
        }else{
          $(".hoverdiv").css({
            "display": "block",
            "left": leftpx,
            "top": toppx,
          });
          $("#message").html(message);
        }
      },
      function () {//鼠标离开时业务处理
        $(".hoverdiv").css({
          "display": "none",
        });
        $("#message").html("");
      }
    )
  </script>

Jquery hover鼠标经过时弹出div动态提示语的更多相关文章

  1. 工作当中实际运用(3)——js原生实现鼠标点击弹出div层 在点击隐藏

    function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display==& ...

  2. JavaScript总结之鼠标划过弹出div单击出现对话框

    为了满足他们的永无止境的要求,我可谓是任劳任怨啊,累断了双手,看瞎了双眼.这个是来写鼠标划过一个按钮,然后弹出一个小提示框解释,另外根据radio是否选中,判断点击后如何执行,然后执行之后再有一个确认 ...

  3. JavaScript鼠标事件,点击鼠标右键,弹出div

    document.oncontextmenu = function(){return false}; //禁止鼠标右键菜单显示 var res = document.getElementById('b ...

  4. jQuery实现鼠标移上弹出提示框,移出消失

    <TD>里有一行数据 "那片笑声让我想起......"  假设超出规定长度将用......代替, 而现在要通过鼠标移动到......上 显示全部内容,移出则消失.如下图 ...

  5. Win7关机时弹出对话框,提示你想要的信息

    博主换了个公司,要求每天写日志,次日8点前没写的话就要扣钱,1篇10块钱,博主已经两次写完忘记提交到ERP系统了,捂脸... 因为公司要求所有工作在公司配的台式电脑上,所以如果能在关机前弹个提示(不关 ...

  6. jQuery 弹出div层

    目的:使用jQuery弹出一个div窗口:这种效果经常应用于页面内容的展示,登录效果的实现.其实,实现这种效果有好多种方式: 效果如下: 代码如下: <html> <head> ...

  7. 鼠标滑过弹出jquery在线客服

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 基于jQuery鼠标点击弹出登陆框效果

    基于jQuery鼠标点击弹出登陆框效果.这是一款扁平样式风格的jQuery弹出层登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <input type=" ...

  9. jQuery插件--zTree中点击节点实现页面跳转时弹出两个页面的问题

    这是第一次使用zTree,所以在使用之前我要先写一个demo来学习一下.我们要注意的是,zTree是一个jQuery插件,所以我们在导入zTree的js文件之前要先导入jQuery的js文件. 我们先 ...

随机推荐

  1. Flink-v1.12官方网站翻译-P017-Execution Mode (Batch/Streaming)

    执行模式(批处理/流处理) DataStream API 支持不同的运行时执行模式,您可以根据用例的要求和作业的特点从中选择.DataStream API 有一种 "经典 "的执行 ...

  2. Java安全之jar包调试技巧

    Java安全之jar包调试技巧 调试程序 首先还是创建一个工程,将jar包导入进来 调试模式的参数 启动中需要加入特定参数才能使用debug模式,并且需要开放调试端口 JDK5-8: -agentli ...

  3. jQuery读取数据

    1.jQuery读取JSON <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  4. AYIT-2020 609暑假集训第一周周赛题 A - A计划

    可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国王正是心急如焚,告招天下 ...

  5. SCZ 20170812 T2 MFS

    题面照例十分暴力,我再次重写一下吧-- 题目描述 有\(n\)个数构成的数列\(A\)元素为\(a_i\),你要构造一个数列\(B\),元素为\(b_i\),使得满足\(b_{i}>0,a_{i ...

  6. codeforces 86D D. Powerful array

    An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary subarray al, a ...

  7. 二、Python基础(input、变量名、条件语句、循环语句、注释)

    一.input用法 input在Python中的含义为永远等待,直到用户输入了值,从而将所输入的值赋值另外的一个东西. n=input('请输入......') 接下来用一个例子学习input的用法 ...

  8. CF1474-C. Array Destruction

    CF1474-C. Array Destruction 题意: 题目给出一个长度为\(2n\)的正整数序列,现在问你是否存在一个\(x\)使得可以不断的进行如下操作,直到这个序列变为空: 从序列中找到 ...

  9. 缓冲区溢出实验 4 内存管理(类似于malloc free)

    实验环境.代码.及准备 https://www.cnblogs.com/lqerio/p/12870834.html vul4 观察foo函数,可见问题在于最后一次tfree(q).由于之前已经tfr ...

  10. anaconda + pyqt5 + pycharm 安装,测试

    1. 安装sip pip install sip 2.安装pyqt5 pip install PyQt5 pip install PyQt5-tools -i http://pypi.douban.c ...