You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整代码实现将class为box的div元素显示在鼠标光标下方

解决方案

问题原因

  • 原有JS逻辑将box的垂直中心对齐光标位置,直接导致元素和光标重叠
  • 计算高度时使用的height()方法仅返回元素内容高度,没有包含你设置的上下各5px边框,实际元素垂直占高计算存在偏差

修改后完整代码

HTML 代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box"></div>

CSS 代码

.box {
  position: fixed; /* 改为fixed定位,避免页面滚动导致位置偏移 */
  left: 0;
  top: 0;
  width: 100%;
  height: 10px;
  background: yellow;
  border-style: solid;
  border-color: black;
  border-width: 5px;
  pointer-events: none; /* 可选配置,避免box遮挡页面其他元素的鼠标交互 */
}

JS 代码

// 推荐用on替代已不推荐的bind方法
$(document).on('mousemove', function(e) {
  $('.box').css({
    // 将box顶部设置在光标坐标下方2px位置,可自行调整数值修改光标和box的间距
    top: e.clientY + 2,
  });
});

可选优化说明

如果需要box和光标间距和元素高度强关联,可以用outerHeight()方法获取包含边框的完整元素高度做计算;如果页面不需要滚动,保留原有position: absolute配置也可以正常运行。

内容的提问来源于stack exchange,提问作者GOPAL Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:57:03