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

自定义右键上下文菜单滚动后定位偏移问题求助

自定义右键上下文菜单滚动后定位偏移问题求助

嘿,各位大佬!我最近做自定义右键上下文菜单的时候碰到个头疼的问题,想请大家帮忙看看。

正常情况下,右键点击后菜单会乖乖出现在鼠标的右侧,位置很准确。但一旦页面滚动之后,菜单的位置就不对了——它会根据滚动的距离,偏移到鼠标的下方去,滚动得越多,偏移得越明显。

我本来想着用clientY和scrollY来调整菜单的top值,不过试了之后发现完全没解决问题,偏移还是存在。下面是我写的部分代码片段:

// Function to show the custom context menu with sliding effect
function showContextMenu(x, y) {
    var menu = document.querySelector(".ctx-context-menu");
    // Check if the menu is already visible
    if (menu.classList.contains("ctx-menu-visible")) {
        // Apply sliding transition
        menu.classList.add("ctx-menu-slide");
        menu.style.left = x + "px";
        menu.style.top = y + "px"; // 这里我本来尝试结合scrollY调整,但没效果
    }
    // 后续显示菜单的逻辑暂不贴出
}

有没有朋友遇到过类似的问题呀?是不是我对鼠标事件的坐标理解错了?或者菜单的CSS定位属性有问题?麻烦大家给点思路,谢谢啦!

备注:内容来源于stack exchange,提问作者Lil_PhyziX

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 08:23:03