.page-layer {
position: absolute;
width: 50%;
height: 100%;
top: 0;
right: 0;
transform-origin: left;
transform-style: preserve-3d;
transition: transform 2.5s;
transform: translate3d(0,0,1px);
-webkit-transform: translate3d(0,0,1px);
will-change: transform;
}
.page-layer.active {
transform: rotateY(-180deg) translate3d(0,0,1px);
-webkit-transform: rotateY(-180deg) translate3d(0,0,1px);
}
.page-back {
position: absolute;
width: 100%;
height: 100%;
top: 2px;
left: 0;
transform-style: preserve-3d;
transform: rotateY(180deg) translate3d(0,0,1px);
-webkit-transform: rotateY(180deg) translate3d(0,0,1px);
will-change: transform;
}
.page-back img {
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
.page-face {
position: absolute;
width: 100%;
height: 100%;
top: 0px;
left: 0;
transform-style: preserve-3d;
transform: translate3d(0,0,1px);
-webkit-transform: translate3d(0,0,1px);
will-change: transform;
}
setTimeout(function () {
$('.page-1').addClass('active');
setTimeout(function () {
$('.page-2').addClass('active');
$('.page-2').css({ "z-index": "2" });
..........
}, 3500);
}, 3500);
Проблему удалось решить следующим образом: при раскрытии новой страницы, предыдущий слой просто скрываем любым подходящим способом .hide(), .FadeOut, или display: none. А активный слой делаем видимым .show, .FadeIn, display: block;
В некоторых случаях помогает добавление -webkit-transform: translate3d(0,0,0) и will-change: transform;
Вдруг кому-то пригодится.