Transition: Fix marking next slide as inactive
This commit is contained in:
parent
061a6150c7
commit
816b62b6ce
@ -124,6 +124,7 @@ function Transition({
|
||||
const keys = Object.keys(rendersRef.current).map(Number);
|
||||
const prevActiveIndex = renderCount ? prevActiveKey : keys.indexOf(prevActiveKey);
|
||||
const activeIndex = renderCount ? activeKey : keys.indexOf(activeKey);
|
||||
const nextIndex = nextKey ? (renderCount ? nextKey : keys.indexOf(nextKey)) : -1;
|
||||
|
||||
const childNodes = Array.from(container.childNodes);
|
||||
if (!childNodes.length) {
|
||||
@ -140,20 +141,19 @@ function Transition({
|
||||
});
|
||||
|
||||
if (!activeKeyChanged) {
|
||||
if (childElements.length === 1 || (nextKey !== undefined && childElements.length === 2)) {
|
||||
const firstChild = childNodes[activeIndex] as HTMLElement;
|
||||
|
||||
addExtraClass(firstChild, CLASSES.active);
|
||||
const activeChild = childNodes[activeIndex];
|
||||
if (activeChild instanceof HTMLElement) {
|
||||
addExtraClass(activeChild, CLASSES.active);
|
||||
|
||||
if (isSlideOptimized) {
|
||||
firstChild.style.transition = 'none';
|
||||
firstChild.style.transform = 'translate3d(0, 0, 0)';
|
||||
activeChild.style.transition = 'none';
|
||||
activeChild.style.transform = 'translate3d(0, 0, 0)';
|
||||
}
|
||||
}
|
||||
|
||||
if (childElements.length === 2) {
|
||||
const nextChild = childElements[0] === firstChild ? childElements[1] : childElements[0];
|
||||
addExtraClass(nextChild, CLASSES.inactive);
|
||||
}
|
||||
const nextChild = nextIndex !== -1 && nextIndex !== activeIndex && childNodes[nextIndex] as HTMLElement;
|
||||
if (nextChild instanceof HTMLElement) {
|
||||
addExtraClass(nextChild, CLASSES.inactive);
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user