javascript - 为什么JS通过getComputedStyle()方法获取top值返回的不是设置的top属性值?
阿神
阿神 2017-04-10 18:01:17
[JavaScript讨论组]

如题,给一个<p id="p1" class="p1"></p>的盒子设置css样式为:

.p1{
     width: 200px;
     height: 300px;
     background: red;
     position: absolute;
     left: 100px;
     top: 200px;
}

使用如下方法获取p1盒子的css属性值:

var p1 = document.getElementById("p1");
var ss = window.getComputedStyle(p1,null);
var left = ss.left;
var top = ss.top;

然后使用console.log()打印left和top,结果left打印的值为100px,而打印top结果为一个对象:

请问这是什么原因?

阿神
阿神

闭关修行中......

全部回复(3)
ringa_lee

这样用

console.log(ss.top);

赋值用法:

var top1 = ss.top;
console.log(top1);

错误用法:

var top = ss.top;
console.log(top);
巴扎黑

我晓得了,因为top是window对象的引用,top是window对象的属性,这里使用top就是对window的引用,所以打印出这个window对象,把ss.top赋给其他名字比如pTop就好了。

PHP中文网

变量为什么要命名成属性名?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号