Нужен способ сделать так, чтобы все страницы перемещались влево, вправо, вниз и вверх. Перемещение вниз и вверх работает нормально, а вправо и влево не работает, как я хочу.
Между страницами есть пробел. Я поместила все страницы в большой контейнер. Я использую три небольших контейнера. Я скрыла все страницы. Только одну мы видим.
Когда мы двигаемся вниз и вверх, мы видим child
следующего (последнего) контейнера. Когда мы двигаемся вправо и влево, мы переходим к следующей строке.
Но, когда страницы движутся в стороны, я сначала вижу перемещение страницы, затем белый экран, а затем новую страницу. Есть ли какие-либо идеи, почему между двумя страницами белое пространство? Полагаю, что проблема в моем transform css.
var down = document.getElementsByClassName("btn-arrow-down");
for (var i = 0; i < down.length; i++) {
down[i].onclick = function showNext() {
var parent = this.parentElement;
var ourCont = parent.parentElement;
var nextCont = ourCont.nextElementSibling;
var pageToShow = nextCont.firstElementChild;
var contToMove = ourCont.parentElement;
function animationEnded() {
contToMove.classList.remove('page-moveUp');
parent.classList.remove('page-visible');
contToMove.removeEventListener('animationend', animationEnded);
}
contToMove.addEventListener('animationend', animationEnded);
pageToShow.classList.add('page-visible');
contToMove.classList.add('page-moveUp');
}
}
var up = document.getElementsByClassName("btn-arrow-up");
for (var i = 0; i < up.length; i++) {
up[i].onclick = function showLast() {
var parent = this.parentElement;
var ourCont = parent.parentElement;
var lastCont = ourCont.previousElementSibling;
var pageToShow = lastCont.firstElementChild;
var contToMove = ourCont.parentElement;
function animationEnded() {
contToMove.classList.remove('page-moveDown');
parent.classList.remove('page-visible');
contToMove.removeEventListener('animationend', animationEnded);
}
contToMove.addEventListener('animationend', animationEnded);
pageToShow.classList.add('page-visible');
contToMove.classList.add('page-moveDown');
}
}
var left = document.getElementsByClassName("btn-arrow-left");
for (var i = 0; i < left.length; i++) {
left[i].onclick = function showLeft() {
var parent = this.parentElement;
var maybeLeftToOpen = parent.previousElementSibling;
var ourCont = parent.parentElement;
var contToMove = ourCont.parentElement;
var cls = maybeLeftToOpen.className;
var clsarray = cls.split();
for (var j = 0; j < clsarray.length; j++) {
var name = clsarray[j];
if (name = 'page') {
var leftToOpen = maybeLeftToOpen;
function animationEnded() {
contToMove.classList.remove('page-moveLeft');
parent.classList.remove('page-visible');
contToMove.removeEventListener('animationend', animationEnded);
}
contToMove.addEventListener('animationend', animationEnded);
leftToOpen.classList.add('page-visible');
contToMove.classList.add('page-moveLeft');
}
}
}
}
var right = document.getElementsByClassName("btn-arrow-right");
for (var i = 0; i < right.length; i++) {
right[i].onclick = function showRight() {
var parent = this.parentElement;
var maybeRightToOpen = parent.nextElementSibling;
var ourCont = parent.parentElement;
var contToMove = ourCont.parentElement;
var cls = maybeRightToOpen.className;
var clsarray = cls.split();
for (var j = 0; j < clsarray.length; j++) {
var name = clsarray[j];
if (name = 'page') {
var rightToOpen = maybeRightToOpen;
function animationEnded() {
contToMove.classList.remove('page-moveRight');
parent.classList.remove('page-visible');
contToMove.removeEventListener('animationend', animationEnded);
}
contToMove.addEventListener('animationend', animationEnded);
rightToOpen.classList.add('page-visible');
contToMove.classList.add('page-moveRight');
}
}
}
}
body{
overflow-x: hidden;
overflow-y: hidden;
}
.container{
display: flex;
}
.page{
min-width: 100vw;
min-height: 100vh;
position: relative;
display: none;
}
.page-visible {
display: block;
}
.q{
background:purple;
}
.a{
background:orange;
}
.z{
background:red;
}
.w{
background:brown;
}
.s{
background:green;
}
.x{
background:gray;
}
.e{
background:rgb(42, 165, 83);
}
.d{
background:rgb(91, 139, 91);
}
.c{
background:rgb(168, 37, 37);
}
.up{
position: absolute;
top: 50px;
left: 47%;
}
.down{
position: absolute;
bottom: 50px;
left: 47%;
}
.left{
position: absolute;
top: 45%;
left: 50px;
}
.right{
position: absolute;
top: 45%;;
right: 50px;
}
span{
cursor: pointer;
}
.page-moveUp {
animation: moveUp 3s ease both;
}
@keyframes moveUp {
from {top:0px }
to {transform: translateY(-100vh); }
}
.page-moveDown{
animation: moveDown 3s ease both;
}
@keyframes moveDown {
from{ transform: translateY(-100vh); }
/* to {transform: translateY(0); } */
to{top:0px}
}
.page-moveLeft{
animation: moveLeft 6s ease both;
}
@keyframes moveLeft {
from{transform: translateX(-100vw);}
to {transform: translateX(0);}
}
.page-moveRight{
animation: moveRight 6s ease both;
}
@keyframes moveRight {
from{left:0}
to {transform: translateX(-100vw);}
}
<div class="super-container">
<div class="container1">
<div class="page q page-visible">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
<div class="page a">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
<div class="page z">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
</div>
<div class="container2">
<div class="page w">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
<div class="page s">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
</div>
<div class="container3">
<div class="page x">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
<div class="page e">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
<div class="page d">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
<div class="page c">
<span class="up btn-arrow-up">up</span>
<span class="left btn-arrow-left">left</span>
<span class="right btn-arrow-right">right</span>
<span class="down btn-arrow-down">down</span>
</div>
</div>
</div>
Я нашла свою ошибку, следовало присвоить container1,container2,container3 display flex
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть <input placeholder="Вопрос" onblur="myFunc(this)" onkeydown="myFunc2(this, event)" type="text">
Нужно сделать простую firebase функцию, которая формирует GET запрос и возвращает его результатНесколько параметров для запроса хранятся в бд firebase