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

question-closed Poprawka kodu - animacja menu w jquery

+1 głos
53 wizyt
pytanie zadane 13 września w JavaScript, jQuery, AJAX przez deiv95 Nowicjusz (190 p.)
zamknięte 13 września przez deiv95

Witajcie.

Czy byłby ktoś w stanie sprawdzić ten kod i powiedzieć mi dlaczego nie działa? 

Nie za bardzo znam się na jQuery i nie wiem gdzie jest błąd.

Proszę o pomoc.

<nav class="nav-main pull-right" id="main-nav">
	<a class="mobile-nav-button hidden-md hidden-lg" href="" id="mobile-icon">
			<i class="fa fa-bars"></i>
				</a>
			<ul class="main-nav-list visible-md visible-lg" id="ul_nav">
				<li class="menu-item-active"><a href="#">Strona główna</a></li>
				<li><a href="#omnie">O mnie</a></li>
				<li><a href="#referencje">Referencje</a></li>
				<li><a href="#oferta">Oferta</a></li>
				<li><a href="#kontakt">Kontakt</a></li>
				<li><a href="kwalifikacje.html">Kwalifikacje</a></li>
			</ul>
</nav>
// Animacja górnego menu oraz animacje po przewinięciu 

var lastId,
    topMenu = $("#ul_nav"),
    topMenuHeight = topMenu.outerHeight()+15,
    // 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;
          menuItems
         .parent().removeClass(".menu-item-active")
         .end().filter("[href=#"+id+"]").parent().addClass(".menu-item-active");
   }                   
});

Z góry dziekiuje ;)

komentarz zamknięcia: Zrobiłem to inaczej
komentarz 13 września przez draghan Szeryf (93,230 p.)

Zrobiłem to inaczej

Jakbyś mógł, podziel się rozwiązaniem. :)

1
komentarz 14 września przez deiv95 Nowicjusz (190 p.)

Miałem podłączona nowszą wersje jQuery.

(jQuery 3.2.1 a ten skrypt działa na - jQuery-2.1.4.min.js)

a kod wziąłem ze strony:

http://netpistols.pl/demo/menu-scroll-waypoints

smiley

 

komentarz 14 września przez draghan Szeryf (93,230 p.)

Super, dzięki! Ktoś teraz może skorzystać z Twojego doświadczenia. :) yes

1 odpowiedź

0 głosów
odpowiedź 13 września przez sc4rface Gaduła (4,100 p.)
Łatwiej by było, jakbyś powiedział, czy konsola coś pokazuje ;)
komentarz 13 września przez deiv95 Nowicjusz (190 p.)

błędów w kodzie nie. Męczę się z tym już kilka dni i nie mogę do tego dojść indecision

komentarz 13 września przez xdmik23 Bywalec (2,080 p.)
rozumiem,ze pobrales skod ten kod-moge prosic o linka to sobie pobiore i sprawdze na przegladarce jak to smiga zeby moc cokolwiek powiedziec na ten temat?

Podobne pytania

0 głosów
3 odpowiedzi 229 wizyt
0 głosów
2 odpowiedzi 62 wizyt
Obowiązuje już zaktualizowany regulamin.

Czy wiesz, że nie musisz już odświeżać strony głównej?

Lista pytań i odpowiedzi aktualizuje się automatycznie!

38,576 zapytań

76,451 odpowiedzi

149,279 komentarzy

18,047 pasjonatów

Przeglądających: 267
Pasjonatów: 26 Gości: 241

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...