自定义右键上下文菜单滚动后定位偏移问题求助
自定义右键上下文菜单滚动后定位偏移问题求助
嘿,各位大佬!我最近做自定义右键上下文菜单的时候碰到个头疼的问题,想请大家帮忙看看。
正常情况下,右键点击后菜单会乖乖出现在鼠标的右侧,位置很准确。但一旦页面滚动之后,菜单的位置就不对了——它会根据滚动的距离,偏移到鼠标的下方去,滚动得越多,偏移得越明显。
我本来想着用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
相关产品推荐
相关产品推荐

