对于offsetLeft的一些简单理解

本文通过实例探讨了JS中元素定位方法,重点对比了offsetLeft与style.left的区别及应用,通过代码演示实现元素定位与样式设置的正确操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题是我今天看图片轮播源码想到的,以前一直有一点疑问,在这里测试一下。

在js中,有很多情况需要对元素重新定位,用一个obj.style.left||obj.offsetLeft 来取得该元素的left。

offsetLeft返回一个Number型,如100;style.left返回一个String型,如100px;而offsetLeft不可以被从新写,所以大多是用offsetLeft来得到数字再+px写回style.left。

但是,好像只有你在标签内定义left时,style.left才会有返回,否则都是空字符串。

如果设定了父元素,offsetLeft和style.left得到的应该是一个。

可以用如下代码试试,自己编编看。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload=function(){
        var divs=document.getElementById("test");
        var _left=parseInt((divs.style.left),10);
        alert(_left);}
    </script>
    <style>
        #test{
            position:relative;
            background-color: #666666;
            height:200px;
            width:200px;

        }
    </style>
</head>
<body>
<div id="test" style="left:200px;"></div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值