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

Dziwne zachowanie funkcji przy ładowaniu strony

Object Storage Arubacloud
0 głosów
130 wizyt
pytanie zadane 4 lutego 2017 w JavaScript przez niezalogowany
edycja 4 lutego 2017

witam, posiadam taką funkcje.
Gdy wywołuje ją tutaj:

$(document).ready(function(){ 
	
    $(".sticky").sticky({topSpacing:0});
	CheckNavWidth();
});

To dzieje się coś dziwne, otóż obie zmienne z funkcji przyjmują wartość równą rozmiarowi okna...
Wystarczy jednakże że włącze konsole albo zmniejsze, a następnie powiększe okno i wszystko jest w porządku.
Ktoś wie co mozę byc nie tak?

2 odpowiedzi

0 głosów
odpowiedź 4 lutego 2017 przez xmentor Nałogowiec (49,520 p.)
edycja 4 lutego 2017 przez xmentor
Twój element menu pewnie ma 100% szerokości okna dlatego szerokość jest taka sama.

Prościej będzie zrobić to w CSS + media queries
komentarz 4 lutego 2017 przez niezalogowany
jeżeli zrobie to w CSS to potem jak dodam sobie do menu np 4 nowe elementy to bede musiał przerabiać kod poza tym chce pracować też z js/jq.

Elem,ent #menu ma tyle szerokości ile jest w nim elementów w danej chwili.
poza tym tak jak mówie dzieje się to tylko przy przeładowaniu strony, jeżeli zmienie rozmiar okna a potem wróce do tego sprzed zmiany to wszystko jest w porządku
komentarz 4 lutego 2017 przez xmentor Nałogowiec (49,520 p.)

jeżeli zrobie to w CSS to potem jak dodam sobie do menu np 4 nowe elementy to bede musiał przerabiać kod

Czemu tak sądzisz?

komentarz 4 lutego 2017 przez niezalogowany
W CSS nie pobiore szerokości elementu i bede musiał na sztywno ustawić kiedy menu ma zmieniać się w to rozwijane.
komentarz 4 lutego 2017 przez xmentor Nałogowiec (49,520 p.)
Może i nie pobierzesz szerokości elementu(co jest zbędne), ale wystarczy jedna reguła media queries żeby zmienić na rozwijane menu.
komentarz 4 lutego 2017 przez niezalogowany
Wiem o tym, wystarczy ustawić display ale mimo wszystko chciałbym to zrobić w jq.
komentarz 4 lutego 2017 przez niezalogowany
Jeżeli ktoś wie jak pomóc i w czym może być problem to bardzo mi prosił o odpowiedź.
Zaznaczam że podczas wywoływania tej funkcji w resize wszystko jest dobrze i menu zmienia się wtedy kiedy powinno.
0 głosów
odpowiedź 4 lutego 2017 przez niezalogowany
Zauważyłem pewną zależność.
Kiedy dodałem to wywołanie:  window.addEventListener("resize", CheckNavWidth());
nad to:
 $( window ).resize(function() { // funkcja wywołująca sie w momencie zmiany obszaru roboczego okna
 CheckNavWidth();
});

to teraz nie dzieje się to co działo się w pierwszym poście

Podobne pytania

0 głosów
2 odpowiedzi 917 wizyt
pytanie zadane 30 grudnia 2016 w PHP przez Klik Obywatel (1,540 p.)
+1 głos
1 odpowiedź 86 wizyt
pytanie zadane 7 września 2021 w JavaScript przez milesek Nowicjusz (180 p.)
0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 17 lutego 2018 w PHP przez shy_fox Gaduła (4,320 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

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

...