Div'leri bir dizi boyunca taşımanın bir yolu var mı?

0

Soru

kendi kendine öğreten javascript Netflix gibi bir menü oluşturmak istedim, sağa veya sola kaydırdığınızda şovlar / filmler arasında gezinebilirsiniz, ancak sol ve sağ oklarla olurdu, yani sağa hareket edersem, blok2 blok1 konumunda, blok2'de blok3 vb. Olurdu

Her bloğa bir dizideki bir konumu atayabileceğimi düşünüyordum: var menuBar = [block1, block2, block3, block4]; ardından dizi boyunca yineleme yapın

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

ve GoThroughMenu () blokları hareket ettirirdi

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

Şu anda hiçbir şey kıpırdamıyor, bu konuda gittiğim yolda hatalar var mı?

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

En iyi cevabı

2

left ve top css özellikleri yalnızca bir non ile çalışır-position: static değer (varsayılan değerdir position tüm öğelerin değeri).

menuBar öğelerini vermeyi deneyin position: relative;.

2021-11-24 04:29:17
1

Sadece ekle position: relative; # kutusuna. iyi çalışır.

Çalışma örneğini buradan kontrol edin https://jsfiddle.net/milytulip/x52goy3s/2/

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

Diğer dillerde

Bu sayfa diğer dillerde

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