JavaScript实现鼠标悬停显示文字提示框

作者:青柠

时间:2026-10-30

浏览:484

本文介绍如何使用JavaScript实现鼠标悬停时显示文字提示框的效果。通过定义偏移量、动态创建DOM元素以及监听鼠标移动事件,实现跟随鼠标的浮动提示。文章提供了完整的JS逻辑代码及HTML调用示例,适用于前端交互开发参考。

文章目录

JavaScript鼠标悬停提示框实现方案

本文详细介绍一种利用JavaScript实现鼠标悬停时弹出带文字信息提示框的功能。该方案旨在为开发者提供清晰的实现思路与代码参考,便于在实际项目中应用。

核心逻辑封装在 tooltips.js 文件中,负责处理提示框的显示、定位及隐藏逻辑。


// position of the tooltip relative to the mouse in pixel //
var offsetx = 12;
var offsety = 8;
function newelement(newid)
{
  if(document.createElement)
  {
    var el = document.createElement('div');
    el.id = newid;
    with(el.style)
    {
      display = 'none';
      position = 'absolute';
    }
    el.innerHTML = ' ';
    document.body.appendChild(el);
  }
}
var ie5 = (document.getElementByIdx && document.all);
var ns6 = (document.getElementByIdx && !document.all);
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
function getmouseposition(e)
{
  if(document.getElementByIdx)
  {
    var iebody=(document.compatMode &&
    document.compatMode != 'BackCompat') ?
    document.documentElement : document.body;
    pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
    pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
    mousex = (ie5)?event.x:(ns6)?clientX = e.clientX:false;
    mousey = (ie5)?event.y:(ns6)?clientY = e.clientY:false;
    var lixlpixel_tooltip = document.getElementByIdx('tooltip');
    lixlpixel_tooltip.style.left =(mousex+pagex+offsetx) + 'px';
 lixlpixel_tooltip.style.top =(mousey+pagey+offsety) + 'px';
  }
}
function tooltip(tip)
{
  if(!document.getElementByIdx('tooltip')) newelement('tooltip');
  var lixlpixel_tooltip = document.getElementByIdx('tooltip');
  lixlpixel_tooltip.innerHTML = tip;
  lixlpixel_tooltip.style.display = 'block';
  document.onmousemove = getmouseposition;
}
function exit()
{
  document.getElementByIdx('tooltip').style.display = 'none';
}

test.html 文件展示了如何在HTML结构中调用上述JS函数,实现具体的交互效果。


<html>
<head>
<style>
.tableBorder7{width:800;solid; background-color: #000000;}
TD{font-family: 宋体;font-size: 12px;line-height : 15px ;}
th{background-color: #f7f7f7;color: #000000;font-size: 12px;font-weight:bold;}
th.th1{background-color: #333333;}
td.TableBody7{background-color: #B1EA45;}
</style>
<script language="JavaScript" src='tooltips.js'>
</script>
</HEAD>
<BODY>
<div onmouseover="tooltip('如果你添加的是一个播客(Podcast),请选中此复选框。');"onmouseout="exit();">蝶恋花</div>
</BODY>
</HTML>

如需了解更多JavaScript相关技巧,可参考本站专题:《JavaScript提示框效果汇总》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》。

希望上述内容能对您的JavaScript编程工作提供有益帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章