Existuje spôsob, ako presunúť divs cez pole?

0

Otázka

vlastné vyučovanie javascript som chcel vytvoriť menu niečo ako Netflix, kde napríklad môžete rolovaním doľava alebo doprava môžete ísť cez ukazuje/movies, však, to by sa s ľavej a pravej šípky, som.e, ak som sa presťahoval právo, block2 by byť v block1 pozíciu, block3 v block2, atď

Myslel som, že by som mohol priradiť každý blok pozíciu v poli: var client = [block1, block2, block3, block4]; potom iterovať cez pole

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

a GoThroughMenu() by sa pohybovať bloky

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

Práve teraz nothings v pohybe, je tam chyby v spôsobe, budem o tomto?

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

Najlepšiu odpoveď

2

left a top css vlastnosti pracovať iba s non-position: static hodnota (ktorá je predvolená position hodnota všetkých prvkov).

Skúste dať menu položiek position: relative;.

2021-11-24 04:29:17
1

Stačí pridať position: relative; do #okno. to bude fungovať dobre.

Pozrite sa sem pracovných príklad https://jsfiddle.net/milytulip/x52goy3s/2/

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

V iných jazykoch

Táto stránka je v iných jazykoch

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