【发布时间】:2018-07-27 21:12:59
【问题描述】:
div.addEventListener('click', () => {
for (let i=1; i<3000; i++) {
setTimeout(() => {
let style = div.clientHeight-1;
style = style + 'px';
div.style.height = style;
},i)
}
})
为什么这段代码不起作用?我有一个 div 元素 500x500,我尝试为它的高度设置动画。当我设置let style = div.clientHeight - 2; 或大于2的数字时,它可以工作,但它不适用于1。问题是什么,如何正确使用JS为高度设置动画?
【问题讨论】:
-
删除
for和setTimeout。请改用setInterval。 -
你也可以用 css 做到这一点。容易多了。
-
@MarkBaijens 我知道如何用 css 转换来做,但我想用 Javascript 来做,这更像是一个练习。但我不知道为什么代码不起作用。你有什么想法吗?
-
我去看看。
-
查看这个类似的帖子 stackoverflow.com/questions/44467909/…>。让我知道这是否有帮助!
标签: javascript html css