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

Co dodać w moim skrypcie żeby usuwało klasę po scrollowaniu

VPS Starter Arubacloud
0 głosów
138 wizyt
pytanie zadane 23 lipca 2017 w JavaScript przez The Real Slim Stefan Początkujący (450 p.)
zmienione kategorie 23 lipca 2017 przez Arkadiusz Waluk

Witam mam taki skrypcik

var lastId,
    topMenu = $("#ul_nawigacja"),
    topMenuHeight = topMenu.outerHeight()+70,
    // Wszystkie elementy listy
    menuItems = topMenu.find("a"),
    // Kotwice do pozycji menu
    scrollItems = menuItems.map(function(){
      var item = $($(this).attr("href"));
      if (item.length) { return item; }
    });
 
// Animacje po kliknięciu w pozycję menu
menuItems.click(function(e){
  var href = $(this).attr("href"),
      offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1;
  $('html, body').stop().animate({ 
      scrollTop: offsetTop
  }, 1000);
  e.preventDefault();
});
 
// Po przewinięciu
$(window).scroll(function(){
   // Pobierz pozycje kontenera 
   var fromTop = $(this).scrollTop()+topMenuHeight;
    
   // Pobierz identyfikator aktualnej pozycji przewinięcia
   var cur = scrollItems.map(function(){
     if ($(this).offset().top < fromTop)
       return this;
   });
   // Pobierz identyfikator aktualnego elementu
   cur = cur[cur.length-1];
   var id = cur && cur.length ? cur[0].id : "";
    
   if (lastId !== id) {
       lastId = id;
       // Ustaw lub usun "active" - odpowiada za podświetlenie pozycji w menu
       menuItems
         .parent().removeClass("active")
         .end().filter("[href=\"#" + id +"\"]").parent().addClass("active");
   }                   
});

Wszytko świetnie działa tylko mam pytanie jak zmodyfikować ten skrypt żeby usuwało klasę aktywną po tym jak scrolluje myszką w dół, chodzi mi o to że gdy wciskam w menu jakąś zakładkę to wszystko działa i zaznacza się klasa aktywna na tej zakładce i później gdy klikam następną to z tej się usuwa klasa aktywna a dodaje na tej co kliknąłem, tak samo z samym scrollem gdy zjeżdżam samym kółkiem myszy do dołu wtedy zakładki w nawigacji ładnie się zmieniają, problem pojawia się gdy wcisnę na zakładkę na pasku nawigacji i wtedy zjadę do dołu scrollem, występuje wtedy niepożądany efekt w postaci takiej że dwie zakładki mają klasę active, czy ktoś pomógłby mi w modyfikacji tego kodu żeby działało to poprawnie?

 

komentarz 23 lipca 2017 przez CzikaCarry Szeryf (75,340 p.)

Co dodać w moim skrypcie żeby usuwało klasę po scrollowaniu

Dodać usuwanie klasy po scrollowaniu maybe? :D 

komentarz 23 lipca 2017 przez The Real Slim Stefan Początkujący (450 p.)
Nie wiem jak to zrobić i dlatego pytanie czy mógłbyś zmodyfikować mój kod

1 odpowiedź

+1 głos
odpowiedź 23 lipca 2017 przez CzikaCarry Szeryf (75,340 p.)
Panie, to przetłumacz sobie nazwę wątku który założyłeś na angielski i wpisz w google, so fking hard..

Pierwszy link od góry, no na prawdę, bardzo ciężko użyć wyszukiwarki... http://lmgtfy.com/?iie=1&q=Delete+class+js

Podobne pytania

0 głosów
1 odpowiedź 320 wizyt
0 głosów
2 odpowiedzi 844 wizyt
pytanie zadane 27 sierpnia 2016 w JavaScript przez nielotweb Bywalec (2,240 p.)
0 głosów
1 odpowiedź 121 wizyt
pytanie zadane 21 listopada 2020 w Nasze poradniki przez Maciej Kotwica Nowicjusz (120 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...