Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么linkoffsetleft考虑列表填充?_Javascript_Html_Css - Fatal编程技术网

Javascript 为什么linkoffsetleft考虑列表填充?

Javascript 为什么linkoffsetleft考虑列表填充?,javascript,html,css,Javascript,Html,Css,我正在读取link元素的offsetLeft属性,并相应地更改另一个元素的位置。但是,只有在不将任何浏览器默认样式应用于“位置”属性的情况下,此功能才能按预期工作。例如:ul填充的更改会影响li offsetLeft并导致从预期位置偏移 navbarElementsList=document.getElementsByClassName'js-element'; navbarUnderline=document.getElementById'js-underline'; 让我们一起去吧; 对于

我正在读取link元素的offsetLeft属性,并相应地更改另一个元素的位置。但是,只有在不将任何浏览器默认样式应用于“位置”属性的情况下,此功能才能按预期工作。例如:ul填充的更改会影响li offsetLeft并导致从预期位置偏移

navbarElementsList=document.getElementsByClassName'js-element'; navbarUnderline=document.getElementById'js-underline'; 让我们一起去吧; 对于let i=0,len=navbarElementsList.length;i 您的js下划线也会受到填充的影响,或者更准确地说,它的父项是

因此,当您将该元素设置为其他元素的offsetLeft时,它自己的offsetLeft也仍然存在

一个难看的解决方法是在左侧样式为0时测量offsetLeft

const navbarElementsList=document.getElementsByClassName'js-element'; const navbarUnderline=document.getElementById'js-underline'; const default_left=navbarUnderline.offsetLeft; 让我们一起去吧; 对于let i=0,len=navbarElementsList.length;i