【发布时间】:2019-01-06 21:06:11
【问题描述】:
我正在通过Element.animate() 构建动画,所以我需要像下面的代码一样创建关键帧。
但是,在某些情况下,我需要设置 css 属性的默认值(如以下示例中的 transformOrigin)。我知道默认值是 50% 50%,但是我不想列出所有 css 默认值,所以我想知道是否有一种方法可以通过 JS 获取这些值。
PS:我可以从元素中获取计算样式,但我需要获取它的默认值,即使在更改值之后也是如此。
let box = document.querySelector('.box')
let keyframe1 = {
position: 'absolute',
transformOrigin: '0% 0%',
background: 'red',
width: '100px',
height: '100px',
transform: 'rotate(0deg)'
}
let keyframe2 = {
position: 'absolute',
transformOrigin: '0% 0%',
background: 'red',
width: '100px',
height: '100px',
transform: 'rotate(90deg)'
}
box.animate([keyframe1, keyframe2], {
duration: 1000,
iterations: Infinity
})
setTimeout(() => {
keyframe2.transformOrigin = '50% 50%'
box.animate([keyframe1, keyframe2], {
duration: 1000,
iterations: Infinity
})
}, 5000)
<div class="box"></div>
【问题讨论】:
-
我不想获取css属性,而是获取属性的默认值。而且它不能是“初始的”,因为它没有动画。
标签: javascript html css