• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

podmiana zdjęć jak w karuzeli

Object Storage Arubacloud
+1 głos
169 wizyt
pytanie zadane 24 kwietnia 2023 w JavaScript przez new_user Użytkownik (610 p.)

Witam, chciał bym uzyskać efekt karuzeli jak na tej stronie https://www.cukeragency.com/ w sekcji "We work with forward-thinking brands we believe in.", czyli chodzi o zmienianie tych logotypów.

Kod HTML:

            <div class="logos">
                <a href="" class="logos__item">
                    <img src="./img/logo-1.png" alt="">
                </a>
                <a href="" class="logos__item">
                    <img src="./img/logo-2.png" alt="">
                </a>
                <a href="" class="logos__item">
                    <img src="./img/logo-3.png" alt="">
                </a>
                <a href="" class="logos__item">
                    <img src="./img/logo-4.png" alt="">
                </a>
            </div>

przy zmianie dodaje klasę: .logo-up

    .logos-up {
        transform: translateY(-100%);
        opacity: 0;
    }

początkowy js o prócz tego mam tablicę 12 logotypów które by miały się zmieniać.

const logosItems = document.querySelectorAll('.logos__item');


if (logosItems) {
    var i = 0;

    logosItems.forEach((item, index) => {
        if (i == 0) {
            setTimeout(() => {
                item.classList.add('logo-up');
            }, index * 200);
        }
    })

}

Jakieś podpowiedzi albo sugestię jak uzyskać taki efekt, albo czy są gotowe takie slidery.

1 odpowiedź

0 głosów
odpowiedź 24 kwietnia 2023 przez VBService Ekspert (253,300 p.)
edycja 1 maja 2023 przez VBService

Proponuję zamienić setTimeout na setInterval i pętle wykonać we "wnętrzu" setInterval

[ on-line ]

window.onload = load;

function load() {
  const logos_item = document.querySelectorAll('.logos__item');
  
  setInterval(() => {
    for (const item of logos_item)
      item.classList.toggle('logo-down');
  }, 1250);
}

 

i zamiast tego zapisu

}, index * 200);

użyć zapisu w css

.logos__item:nth-child(2) {
  transition-delay: 100ms;
}
.logos__item:nth-child(3) {
  transition-delay: 200ms;
}
.logos__item:nth-child(4) {
  transition-delay: 300ms;
}

 

 

kwestię podmiany obrazków dla kolejnego kroku animacji pozostawiam Tobie do zaimplementowania.

Podpowiedź, może się przydać

  setInterval(() => {
    for (const item of logos_item)
      item.classList.toggle('logo-down');

    // dla demonstracji
    console.log(index); 
    index += logos_item.length;  
  }, 1250, index=0);

 

Podobne pytania

0 głosów
1 odpowiedź 136 wizyt
0 głosów
1 odpowiedź 602 wizyt
+1 głos
1 odpowiedź 581 wizyt
pytanie zadane 23 maja 2017 w HTML i CSS przez sonewbie Użytkownik (690 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...