欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery实现鼠标移到某个对象时弹出显示层功能

程序员文章站 2023-11-13 20:42:28
本文实例讲述了jquery实现鼠标移到某个对象时弹出显示层功能。分享给大家供大家参考,具体如下: /** * 鼠标移上去显示层 * @param divid...

本文实例讲述了jquery实现鼠标移到某个对象时弹出显示层功能。分享给大家供大家参考,具体如下:

/**
* 鼠标移上去显示层
* @param divid 显示的层id
* @returns
*/
$.fn.myhovertip = function(divid) {
  var div = $("#" + divid); //要浮动在这个元素旁边的层
  div.css("position", "absolute");//让这个层可以绝对定位
  var self = $(this); //当前对象
  self.hover(function() {
    div.css("display", "block");
    var p = self.position(); //获取这个元素的left和top
    var x = p.left + self.width();//获取这个浮动层的left
    var docwidth = $(document).width();//获取网页的宽
    if (x > docwidth - div.width() - 20) {
    x = p.left - div.width();
    }
    div.css("left", x);
    div.css("top", p.top);
    div.show();
  },
  function() {
    div.css("display", "none");
  }
  );
  return this;
}

在哪个对象旁边显示div,随自己定义,只要定义一个id即可:

如:

<a id="viewreinfo" href="#" rel="external nofollow" rel="external nofollow" >查看收件人回执情况</a>

需要显示的div,根据需求自己定义,同样只需定义id即可:

如:

<div id="receiptinfo" class="receiptinfo">(www.jb51.net 提示信息)</div>

调用上面的js函数,代码如下:

$('#viewreinfo').myhovertip('receiptinfo');

测试示例如下:

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>www.jb51.net jquery弹出提示框</title>
<style>
.receiptinfo{display:none;}
</style>
</head>
<body>
<a id="viewreinfo" href="#" rel="external nofollow" rel="external nofollow" >查看收件人回执情况</a>
<div id="receiptinfo" class="receiptinfo">(www.jb51.net 提示信息)</div>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
/**
* 鼠标移上去显示层
* @param divid 显示的层id
* @returns
*/
$.fn.myhovertip = function(divid) {
  var div = $("#" + divid); //要浮动在这个元素旁边的层
  div.css("position", "absolute");//让这个层可以绝对定位
  var self = $(this); //当前对象
  self.hover(function() {
    div.css("display", "block");
    var p = self.position(); //获取这个元素的left和top
    var x = p.left + self.width();//获取这个浮动层的left
    var docwidth = $(document).width();//获取网页的宽
    if (x > docwidth - div.width() - 20) {
    x = p.left - div.width();
    }
    div.css("left", x);
    div.css("top", p.top);
    div.show();
  },
  function() {
    div.css("display", "none");
  }
  );
  return this;
}
$('#viewreinfo').myhovertip('receiptinfo');
</script>
</body>
</html>

ps:感兴趣的朋友可以使用在线html/css/javascript代码运行工具http://tools.jb51.net/code/htmljsrun测试一下运行效果。

更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery窗口操作技巧总结》、《jquery扩展技巧总结》、《jquery常用插件及用法总结》、《jquery表格(table)操作技巧汇总》、《jquery常见经典特效汇总》及《jquery选择器用法总结

希望本文所述对大家jquery程序设计有所帮助。