The collapse handler waited a fixed itemCount*25+230ms for the section-domino-out keyframes, but the CSS rule only targeted .list-item. #models-section uses .models-row, so the rule matched nothing: no animation played and itemCount was 0, leaving a flat ~230ms pause before the section snapped shut. - CSS: the collapse/expand animation rules now match :is(.list-item, .models-row) so the Models rows actually animate. - JS: drive the collapse off the real animations via getAnimations() instead of a hard-coded timeout. Wait only on the section-domino-out keyframes (ignoring unrelated/infinite animations); collapse immediately when nothing animates so there is never a dead pause. A generation token neutralizes stale callbacks from rapid toggles, with a 600ms safety net so a section can't get stuck open.
9.3 KiB
9.3 KiB