Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OneScrollPage] Menu nie zgrane z daną pozycją.
Slide
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 29.10.2013

Ostrzeżenie: (0%)
-----


Witam wsztystkich i proszę o pomoc.

Obecnie koduję swoją pierwszą stronę typu "One-Page". Mam jednak pewien problem.
Mianowicie menu nie jest zgrane z zakładką która jest obecnie otwarta na stronie.

Link do strony

Zapewne, a raczej na pewno wszystko spowodowane jest tym, że w kodzie js odpowiedzialnym za "przenoszenie" do odpowiedniej zakładki cała zawartość jest przesuwana o 70px, po to, aby właśnie zakładki ustawiały się poprawnie (nie za wysoko) tutaj cały kod pliku:

  1. //jQuery to collapse the navbar on scroll
  2. $(window).scroll(function() {
  3. if ($(".navbar").offset().top > 70) {
  4. $(".navbar-fixed-top").addClass("top-nav-collapse");
  5. $("ul#ulmenu").removeClass("nav-pills nav-stacked span2 rotate");
  6. $("ul#ulmenu").addClass("nav navbar-nav");
  7. $("li#bind1").addClass("collapsed-a");
  8. $("li#bind2").addClass("collapsed-a");
  9. $("li#bind3").addClass("collapsed-a");
  10.  
  11. } else {
  12. $(".navbar-fixed-top").removeClass("top-nav-collapse");
  13. $("ul#ulmenu").removeClass("navbar-nav");
  14. $("ul#ulmenu").addClass("nav-pills nav-stacked span2 rotate");
  15. $("li#bind1").removeClass("collapsed-a");
  16. $("li#bind2").removeClass("collapsed-a");
  17. $("li#bind3").removeClass("collapsed-a");
  18. }
  19. });
  20.  
  21. //jQuery for page scrolling feature - requires jQuery Easing plugin
  22. $(function() {
  23. $('.page-scroll-active a').bind('click', function(event) {
  24. var $anchor = $(this);
  25. $('html, body').stop().animate({
  26. scrollTop: $($anchor.attr('href')).offset().top - 70
  27. }, 1500, 'easeInOutExpo');
  28. event.preventDefault();
  29. });
  30. });
  31.  
  32. $('.carousel').carousel();


Wchodząc na stronę którą podałem na początku i klikając pozycję "OFERTA" widać, że menu pozostaje nadal na aktywnej "Stronie głównej", jednak jeśli zjedziemy właśnie około 70px w dół, widać, że menu przeskakuje. Moje pytanie jest zatem takie, czy można w jakiś sposób "oszukać" przeglądarkę, mówiąc jej, że jest 70px niżej od jej faktycznej pozycji, albo w jakiś inny sposób naprawić problematyczne menu?

Pozdrawiam i z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Moim zdaniem lepiej by było, gdyby za aktualną zakładkę uznawana była ta, która zajmuje więcej niż połowę ekranu, a nie ta, która jest widoczna od dołu chociażby w jednym pikselu wysokości.

A co do Twojego problemu, to czysta arytmetyka - jak sam zauważyłeś, musisz brać pod uwagę, że przestrzeń robocza jest zajęta w pewnym stopniu przez menu na górze.
Go to the top of the page
+Quote Post
Slide
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 29.10.2013

Ostrzeżenie: (0%)
-----


Dziękuję za wskazówkę, ale czy mógłbyś mi podpowiedzieć jak tego dokonać? Nie jestem na tyle biegły w jQuery (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
by_ikar
post
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


W jquery aby pobrać pozycje danego elementu względem innych elementów, następnie pobrać wysokość okna przeglądarki, podzielić ją na pół. Może to na przykład wyglądać tak: http://jsfiddle.net/MU9ae/1/

Go to the top of the page
+Quote Post
Slide
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 29.10.2013

Ostrzeżenie: (0%)
-----


Super!
Dziękuję bardzo za pomoc (IMG:style_emoticons/default/biggrin.gif)


Ten post edytował Slide 24.07.2014, 23:45:03
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:08