我是一名高中生,正在学习一门非常基础的网页设计课程。无聊的时候,我随便弄了一些带有动画箭头的下拉菜单。我需要设置打开和关闭动画的最大高度,以便与文本配合使用。关闭很容易(0px),但我需要将打开设置为对象的精确高度,因为 none 不适用于动画。我有以下代码,它获取全尺寸高度,然后设置为 0,然后这样,但动画不起作用。我认为这可能是因为转换延迟搞砸了值,但即使在中间关闭并重新打开它也不起作用,并且在记录时它会获得正确的高度值。怎么回事?
content.style.maxHeight = "none";
var openContentHeight = content.clientHeight;
content.style.maxHeight = "0px";
content.style.maxHeight = openContentHeight + "px";
答案1
我设法通过设置 0 的延迟来修复它。我假设设置事物有一个冷却时间,以防止错误/循环的代码杀死所有内容,并且在本质上是新线程中运行它使得冷却时间消失。