百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> js中offsetLeft与style.left的区别
分享文章到:

js中offsetLeft与style.left的区别

发布时间:01/15 来源: 浏览: 关键词:
js中offsetLeft与style.left的区别是什么呢,对于这个问题我相信许多的朋友和小编一样不知道具体的区别吧,下面我们来看看吧。

这篇文章主要以offsetLeft和left为例,其它offsetWidth和width,offsetTop和top…..同理,区别性一样

首先简单介绍offsetLeft和left:

offsetLeft 获取的是 相对于父元素的左边距。
left 获取或设置 相对于具有定位属性的父元素的左边距。

1、最重要的区别 :style.left 只能位于 行内样式 ,就是定义在HTML里,不能在CSS里,   offsetLeft 不受限制。由于left需要定位,下面以width为例:

非行内样式:


<style>
    #demo {
      width: 100px;
    }
<style>

<div id="demo" ></div>

<script>
    var demo = document.getElementById("demo");
    console.log(demo.offsetWidth);
    console.log(demo.style.width);
</script>

浏览器控制台显示结果:

360反馈意见截图16181002362915

行内样式:

<div id="demo" style="width: 100px;"></div>

<script>
    var demo = document.getElementById("demo");
    console.log(demo.offsetWidth);
    console.log(demo.style.width);
</script>

浏览器控制台显示结果:

360反馈意见截图

2、offsetLeft  可以返回没有定位盒子的距离左侧的位置。 而 style.left 不可以,这一点可以参考 left定义 。 注意:只有定位的盒子才有 left right top bottom

3、offsetLeft 返回的是数字,而 style.left 返回的是字符串,除了数字外还带有单位:px。
如果需要对取得的值进行计算,那么offsetLeft可以直接进行运算。

对于style.left可以使用parseInt

例如:style.left = 300px   我们知道 parseInt(300px)=300.
parseInt(style.left) + parseInt(style.left) = 600.

4、offsetLeft 只读,而 style.left 可读写。如果需要改变div的值,可以对style.left给值。 我是这么理解的:offsetLeft是定值,style.left是变化值,利用这一点可以做缓动特效。

offsetLeft:


<script>
   var demo = document.getElementById("demo");
   demo.offsetLeft = 300;
</script>

控制台:

360反馈意见截图16300507649262

style.left:

<script>
   var demo = document.getElementById("demo");
   demo.style.left = "300px";
</script>

控制台:

360反馈意见截图1643092893119125

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有21人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板