1
我正在创建类似于手风琴的东西,并且元素高度未知。Javascript:等待上一行的执行
.accordion__item .accordion__item__content {
height: 0;
display:block;
overflow: hidden;
transition: height 0.5s ease-out;
}
.accordion__item[state=true] .accordion__item__content {
height:auto;
transition: height 0.5s ease;
由于高度是自动的,所以在打开时,并且不能转换到自动。 我不想使用最大高度技巧,因为不是很好。因此,我尝试使用scrollHeight获取内容元素(accordion__item__content)的高度,并将该值添加为高度为内联样式的值;
content.style.height = content.scrollHeight + "px";
,我有问题是随机的,过渡部分比内嵌样式高度的设定快,过渡不工作。
我需要的是延迟JavaScript的过渡,直到高度设置。
此外,不阻止加载页面,将等待最大数量的毫秒。
setTimeout正在工作,但它总是等待总的毫秒数,事件如果动作做得快得多。
不要等待什么,只是运行的过渡设置高度之后。 – dfsq
仅当设置高度时才使用JavaScript添加转场,您可以在单独的类中定义转场规则,并使用javascript动态添加此转场类。 – Kaddath