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

Zdarzenie WheelEvent z uwzględnieniem deltaY

Object Storage Arubacloud
+1 głos
65 wizyt
pytanie zadane 1 maja 2023 w JavaScript przez Piotrek2713 Mądrala (5,380 p.)

Mam elementy ze zdjęciami w sekcji

<section class="service-info-content service-info-content--first">
        <figure class="service-info-el">
          <img src="imgs/code.webp" alt="" class="service-info-img" />
          <figcaption class="service-info-caption">
            Wygeneruj kod szablonu strony
          </figcaption>
        </figure>
        <figure class="service-info-el">
          <img src="imgs/js.webp" alt="" class="service-info-img" />
          <figcaption class="service-info-caption">
            Pobierz skrypty z elementami na stronę
          </figcaption>
        </figure>
        <figure class="service-info-el">
          <img src="imgs/template.webp" alt="" class="service-info-img" />
          <figcaption class="service-info-caption">
            Dodaj własny szablon lub gotowy kod js
          </figcaption>
        </figure>
      </section>

oraz style w arkuszu

.service-info-content {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100vw;
  height: 80vh;
  overflow-y: hidden;
}
.service-info-el {
  position: relative;
  top: 50vh;
  width: 18vw;
}

i kod Js

const serviceInfoElFirstSection = $(".service-info-content--first>.service-info-el");

function slideUp()
{
  serviceInfoEl.animate
  (
    {
      top: "0vh",
    },
    1000
  );
}

WheelEvent.deltaY[2] = slideUp;

Chcę aby elementy o klasie service-info-el podniosły się w górę o 50vh gdy przewinę zawartość strony w dół.

Dałem na próbę wartość 2 dla deltaY, ale konsola wyświetla błąd o niezdefiniowanej właściwości.

Chcę uzupełnić to zdarzenie, gdy przewinę zawartość w dół o 150px

1 odpowiedź

0 głosów
odpowiedź 1 maja 2023 przez VBService Ekspert (253,340 p.)
wybrane 2 maja 2023 przez Piotrek2713
 
Najlepsza

Nie wiem do końca czy o taki efekt Tobie chodzi, ale ustaw zdarzenie na okno "wykrywające" użycie kółka myszki a za pomocą deltaY sprawdź kierunek obrotu, np.

 

[ on-line ]

const serviceInfoElFirstSection = $('.service-info-content--first .service-info-el');

$(window).on('wheel', function(event) {
  if (event.originalEvent.deltaY > 0) {
    serviceInfoElFirstSection.animate({
      top: '0vh',
    }, 1000);
  } else {
    serviceInfoElFirstSection.animate({
      top: '50vh',
    }, 1000);
  }
});

 

lub za pomocą css transition

[ on-line ]

.service-info-el {
  position: relative;
  top: 50vh;
  width: 18vw;
  transition: top 1000ms;
}
.wheel-up {
  top: 0vh;
}
const serviceInfoElFirstSection = $('.service-info-content--first .service-info-el');

$(window).on('wheel', function(event) {
  for (const section of serviceInfoElFirstSection)
    if (event.originalEvent.deltaY > 0)
      section.classList.add('wheel-up');
    else
      section.classList.remove('wheel-up');
});

 

 

Chcę uzupełnić to zdarzenie, gdy przewinę zawartość w dół o 150px

sprawdź 

  • window.pageYOffset  [ 1 ]  [ 2 ]
  • document.documentElement.scrollTop  [ 1 ]  [ 2 ]

 

 [ on-line ]

const scrollTop = (window.pageYOffset !== undefined) ? 
                  window.pageYOffset : 
                  (document.documentElement || document.body.parentNode || document.body).scrollTop;
console.info(scrollTop);

 

Podobne pytania

0 głosów
1 odpowiedź 275 wizyt
+2 głosów
2 odpowiedzi 615 wizyt
pytanie zadane 3 lipca 2021 w JavaScript przez magic84 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 229 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...