Lea*_*ath 1 html javascript css
div.addEventListener('click', () => {
for (let i=1; i<3000; i++) {
setTimeout(() => {
let style = div.clientHeight-1;
style = style + 'px';
div.style.height = style;
},i)
}
})
Run Code Online (Sandbox Code Playgroud)
为什么这段代码不起作用?我有一个div元素500x500,我尝试动画它的高度.当我设置let style = div.clientHeight - 2;或大于2的数字时,它可以工作,但它不起作用1.问题是什么,我如何正确地使用JS动画高度?
您可以使用最小的Javascript来执行此操作并使用CSS代替.
一个添加transition: height 3s;到您<div>,并创建改变你的身高类<div>.
点击它之后,只需在Javascript中添加该类:
let div = document.querySelector('div');
div.addEventListener('click', () => {
div.classList.add('clicked');
})Run Code Online (Sandbox Code Playgroud)
div{
border: 1px solid black;
height:100px;
transition: height 3s;
}
div.clicked{
height: 3000px;
}Run Code Online (Sandbox Code Playgroud)
<div></div>Run Code Online (Sandbox Code Playgroud)