盡管我已經找到了答案,但我正在創建這個問題供其他人查看他們是否有同樣的問題。我正在創建一個網頁作為我在另一個項目中使用的工具;它的目標是讓我能夠操作覆蓋圖像的文本并顯示文本的信息,例如其頂部和左側屬性。我在實現W3 的使元素可拖動的方法時遇到了一個問題。拖動元素時,它的 left 值會按預期更改,但每次調用 時,top 值都會增加 16 elementDrag(e),特別是每次使用elmnt.style.top = (elmnt.offsetTop - pos2) + "px";. 我嘗試了很多方法,并認為我快要瘋了,直到我在此頁面上找到了簡單的解決方案。問題的原因是被拖動的元素的邊距為 16px,因此elmnt.offsetTop總是比 多 16px elmnt.style.top。如果您想親自查看我的問題,請參閱以下頁面。它仍然是一個 WIP,而且我是一個新手,所以它還不是很完善。在“在此處輸入”左側的輸入字段中輸入一些文本按 Enter 或單擊“提交”按鈕單擊放置在缺失圖像上的文本然后按照您通常的預期單擊并拖動。如果您想重現該問題,請margin: 0px;從 CSS 中刪除“.overlayText”。
Element.offsetTop 意外增加
心有法竹
2023-11-12 14:25:33