为什么在这段代码中我可以使用高度而不是最大高度,所以它仍然有效?第二个问题是:为什么我们必须在高度为零时将溢出属性设置为隐藏。 https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_accordion_animate 这是上面的原始代码。var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.height){ panel.style.height = null; } else { panel.style.height = panel.scrollHeight + "px"; } }); } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .accordion { background-color: #eee; color: #444; cursor: pointer; padding: 18px; width: 100%; border: none; text-align: left; outline: none; font-size: 15px; transition: 0.4s; } .active, .accordion:hover { background-color: #ccc; } .panel { padding: 0 18px; background-color: white; height: 0; overflow: hidden; transition: height 0.2s ease-out; }
添加回答
举报
0/150
提交
取消