Existuje způsob, jak se pohybovat divs přes pole?

0

Otázka

vlastní výuka javascriptu chtěl jsem vytvořit menu, něco jako Netflix, kde se při posouvání doprava nebo doleva můžete procházet pořady/filmy, nicméně, to by bylo s levé a pravé šipky, jsem.e když jsem se přesunul doprava, blok2 by být v block1 pozici, block3 v blok2, atd

Přemýšlel jsem, že bych mohl přiřadit každý blok pozici v matici: var menu = [block1, blok2, block3, block4]; pak iterovat přes 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 se pohybovat bloky

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

Teď nesouvislá pohybující se, je tam chyb ve způsobu, jakým jsem na to šel?

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

Nejlepší odpověď

2

left a top vlastnosti css pracovat pouze s non-position: static hodnota (což je výchozí nastavení position hodnoty všech prvků).

Zkuste dát řádek položky position: relative;.

2021-11-24 04:29:17
1

Stačí přidat position: relative; do #box. to bude fungovat dobře.

Podívejte se zde pracuje např. https://jsfiddle.net/milytulip/x52goy3s/2/

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

V jiných jazycích

Tato stránka je v jiných jazycích

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