为了账号安全,请及时绑定邮箱和手机立即绑定

计算DOM属性的一个奇怪的问题(getComputedStyle)

计算DOM属性的一个奇怪的问题(getComputedStyle)

繁华开满天机 2018-09-04 11:38:12
在做动画的时候,比如我们需要对某元素的line-height进行修改,我们首先需要计算当前line-height与目标line-height的差值,然后再进行进一步计算处理。通过getComputedStyle(element).lineHeight 可以得到元素的line-height的计算值,单位为px;然而当我们的目标值是一个百分比的时候,我们是无法计算差值的。这时,jquery的做法是,先备份当前元素的getComputedStyle(element).lineHeight结果,然后对元素应用该百分比样式,然后getComputedStyle(element).lineHeight得到的就是百分比对应的计算结果px值,最后再还原元素的样式。那么就有如下代码:function getComputed(el,op,percent){    let bk = window.getComputedStyle(el)[op];     el.style.op = percent;    let ret = window.getComputedStyle(el)[op];     el.style.op = bk;    return ret }实验发现返回的ret不是percent对应的px值,而是el的原始样式但是我把代码提出来,一行行运行就没问题。麻烦指教下,这是什么情况?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 687 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信