Existe uma forma de movimentar divs, através de uma matriz?

0

Pergunta

auto de ensino javascript eu queria criar um menu parecido com o Netflix, onde, como você rolar para a direita ou para a esquerda, você pode ir através de programas/filmes, no entanto, seria com as setas esquerda e direita, eu.e se eu me mudei para a direita, block2 seria block1 posição, block3 em block2, etc

Eu estava pensando que eu poderia atribuir a cada bloco uma posição na matriz: var menuBar = [block1, block2, block3, block4]; em seguida, percorrer a matriz

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

e GoThroughMenu() vai mover os blocos

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

Agora nada de se mover, há erros na maneira que eu estou indo com isso?

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

Melhor resposta

2

left e top propriedades css funcionam apenas com um não-position: static valor (que é o padrão position valor de todos os elementos).

Tente dar a barra de menu, itens de um position: relative;.

2021-11-24 04:29:17
1

Basta adicionar position: relative; em #caixa. ele vai funcionar bem.

Confira aqui exemplo de trabalho https://jsfiddle.net/milytulip/x52goy3s/2/

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

Em outros idiomas

Esta página está em outros idiomas

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