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

Zwracanie wartości z helpera

0 głosów
165 wizyt
pytanie zadane 11 kwietnia 2019 w JavaScript przez Bakr Mądrala (6,850 p.)

Witam,

w jaki sposób zwrócić wartość 'up' lub 'down', po wywołaniu helpera?

Założenie jest takie, żeby zwrócić wartość obecnego kierunku scrolla. Np.:

if(scrollDetect==='down') {
 //do something
}

i, aby był on wykonywany na scroll.

 

const scrollDetect = function(){
  var lastScroll = 0;
  var direction = 'default';

  window.addEventListener('scroll', function test() {
      let currentScroll = document.documentElement.scrollTop || document.body.scrollTop; // Get Current Scroll Value

      if (currentScroll > 0 && lastScroll <= currentScroll) {
        direction = 'down';
        document.getElementById("scrollLoc").innerHTML = direction;
      } else {
        direction = 'up';
        document.getElementById("scrollLoc").innerHTML = direction;
      }
    
      lastScroll = currentScroll;
      return direction;
    
  });
  
  return direction;
}


alert(scrollDetect());

 

1 odpowiedź

0 głosów
odpowiedź 11 kwietnia 2019 przez pablop76 VIP (123,580 p.)

Masz już tą wartość. Więc w czym problem?

if(direction==='down') {
 //do something
}

function test() powinna być anonimowa jeżeli nie występuje poza listenerem

Podobne pytania

0 głosów
1 odpowiedź 691 wizyt
pytanie zadane 22 sierpnia 2016 w JavaScript przez Śmieszek_;3 Użytkownik (780 p.)
0 głosów
1 odpowiedź 423 wizyt
pytanie zadane 24 kwietnia 2020 w Java przez danielo665 Obywatel (1,040 p.)
+1 głos
2 odpowiedzi 518 wizyt
pytanie zadane 25 marca 2018 w C i C++ przez niezalogowany

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,088 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

Kursy INF.02 i INF.03
...