获取offsetLeft不准的问题

发布于 2022-09-05 21:48:57 字数 1042 浏览 10 评论 0

弹出来的结果是15但实际明显不是15啊 这个15应该是没有算进去left这个div吧 为什么会常出现这种情况呢 大家可以试一下 这个是bootstrap样式引起的吗 那么怎么获取准确的offsetLeft值呢
图片描述

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link href="bootstrap.css" rel="stylesheet">
    <style type="text/css">
    *{margin:0;padding: 0}
    </style>
    <script type="text/javascript">
        window.onload=function(){
            var oFace=document.getElementById('face');
            oFace.onclick=function(){
                alert(this.offsetLeft);
            }
            
        }
    </script>
</head>
<body>
<div id="left" class="col-xs-2 col-sm-2 col-md-2 col-lg-3">
</div>
<div id="right" class="col-xs-8 col-sm-8 col-md-8 col-lg-6">
        <span id="face">aaa</span>
</div>
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不喜欢何必死缠烂打 2022-09-12 21:48:57

offsetLeft是相对于父元素的,15是right的padding,没什么错啊。
如果你是要获取face在页面内的left值,那得用getBoundingClientRect().left

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文