Există o modalitate de a muta divs printr-o serie?

0

Problema

predare de sine javascript , am vrut să creez un meniu un fel de Netflix unde ca tu derulați la dreapta sau la stânga, puteți merge prin spectacole/filme, cu toate acestea, ar fi cu săgețile stânga și la dreapta, eu.e, dacă ne-am mutat, iesire2 ar fi în block1 poziție, block3 în iesire2, etc

Mă gândeam că am putea atribui fiecare bloc o poziție într-o matrice: var menuBar = [block1, iesire2, block3, block4]; apoi repeta prin matrice

for(var i=0; i < menuBar.length(); i++){
switch (e.key) {
            case 'ArrowLeft':
                i--;
                GoThroughMenu();
                break;
            case 'ArrowRight':
                i++;
                GoThroughMenu();
                break;
}

și GoThroughMenu() ar muta blocuri

block1.style.left = menuBar[i].style.left + 'px';
block1.style.top = menuBar[i].style.top + 'px';

Acum nimic nu mișcă, există erori în modul în care am de gând despre asta?

html javascript
2021-11-24 04:25:23
2

Cel mai bun răspuns

2

left și top proprietăți css funcționa doar cu un non-position: static valoarea (care este implicit position valoare a tuturor elementelor).

Încercați oferindu-menuBar elemente o position: relative;.

2021-11-24 04:29:17
1

Trebuie doar să adăugați position: relative; în #cutie. acesta va funcționa bine.

Verifica aici exemplu de lucru https://jsfiddle.net/milytulip/x52goy3s/2/

#box{
    width: 1000px;
    height: 200px;
    background-color: black;
    position: relative;
}
2021-11-24 04:45:07

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................