Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mały skrypt JS + JQuery - pytanie.
dawidryba
post 26.08.2015, 23:54:39
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.08.2012

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


Witam serdecznie,
Jako, że z JS dopiero zaczynam to nie bardzo wiem, czy coś takiego da się zrobić. Napisałem bardzo łatwy, mały skrypy, który odpowiada za "przyklejenie" menu na górze przeglądarki. Dany skrypt korzysta z biblioteki JQuery. Pobrałem bibliotekę z internetu i okazało się, że warzy ona ponad 200kb (trochę dużo). Bardzo zależy mi na optymalizacji mojej strony. Przepuściłem dany plik przez compresor JS i wyszło 130kb.

Nurtuje mnie pewna sprawa. Czy biblioteka JQuery musi być aż tak obszerna dla tak małego skryptu? Może znajdują się tam jakieś niepotrzebne funkcje? Orientujecie się może?

  1. <script type='text/javascript'>
  2. $(window).load(function(){
  3. function fixDiv() {
  4. var $cache = $('#menufixed');
  5. var $caches = $('#moremargin');
  6. if ($(window).scrollTop() > 113)
  7. {
  8. $cache.css({'position': 'fixed', 'top': '0','max-width': '100%','width': '100%'});
  9. $caches.css({'margin-top': '40px'});
  10. }
  11. else
  12. {
  13. $cache.css({'position': 'relative', 'top': 'auto','max-width': '1130px'});
  14. $caches.css({'margin-top': '0px'});
  15. }
  16. }
  17. $(window).scroll(fixDiv);
  18. fixDiv();
  19. });
  20. </script>


2 sprawa, czy ktoś ma doświadczenie dotyczące blokowania renderowania strony na Joomla! przez JS?

Z góry dziękuję za poświęcony czas na odpisanie mi.
Pozdrawiam Dawid Rybacki!

Go to the top of the page
+Quote Post
viking
post 27.08.2015, 07:37:11
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Bez jquery http://www.cssscript.com/simple-on-demand-...-headhesive-js/
Jeżeli chcesz to możesz zbudować jQuery z komponentów które potrzebujesz co ograniczy rozmiar. https://github.com/jquery/jquery W dokumentacji masz opisane moduły.

2 sprawy nie rozumiem o co chodzi


--------------------
Go to the top of the page
+Quote Post
Crozin
post 27.08.2015, 08:02:49
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tak swoją drogą skompresowane (minifikacja + gzip) jQuery waży 34 KiB.
Go to the top of the page
+Quote Post
Comandeer
post 27.08.2015, 08:57:45
Post #4





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


I tak za dużo na coś, co da się machnąć 3 linijkami JS wink.gif jak nie trzeba wspierać IE, to IMO jQuery lepiej zostawić w spokoju

Warto też zrobić feature detection, bo lisek i webkit mają coś takiego natywnie: position: sticky


--------------------
Go to the top of the page
+Quote Post
trueblue
post 27.08.2015, 09:05:23
Post #5





Grupa: Zarejestrowani
Postów: 6 803
Pomógł: 1827
Dołączył: 11.03.2014

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


Cytat(Comandeer @ 27.08.2015, 09:57:45 ) *
Warto też zrobić feature detection, bo lisek i webkit mają coś takiego natywnie: position: sticky

Po włączeniu odpowiednich flag w konfiguracji. A w Chrome przestali wspierać: http://src.chromium.org/viewvc/blink?view=...revision=177128


--------------------
Go to the top of the page
+Quote Post
Comandeer
post 27.08.2015, 12:34:28
Post #6





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Hmm… Zgodnie z http://caniuse.com/#feat=css-sticky w lisku działa out-of-box, a w Webkicie potrzebuje prefiksu -webkit


--------------------
Go to the top of the page
+Quote Post
dawidryba
post 27.08.2015, 13:39:31
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.08.2012

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


Tak też myślałem, żeby w jakiś sposób odchudzić JQuery. Jednak jestem zielony w JS i nie bardzo wiem jakich funkcji on używa.
scroll() i scrollTOP() są tymi funkcjami? Jak na podanym linku przez Vikinga odnaleźć te funkcje i stworzyć z nich mały JS? smile.gif

Niestety muszę wspierać IE. ok 20% odwiedzających korzysta z IE.

Przepraszam za moją udolność.




Cytat(viking @ 27.08.2015, 08:37:11 ) *
Bez jquery http://www.cssscript.com/simple-on-demand-...-headhesive-js/
Jeżeli chcesz to możesz zbudować jQuery z komponentów które potrzebujesz co ograniczy rozmiar. https://github.com/jquery/jquery W dokumentacji masz opisane moduły.

2 sprawy nie rozumiem o co chodzi


Ten post edytował dawidryba 27.08.2015, 13:42:29
Go to the top of the page
+Quote Post
viking
post 27.08.2015, 14:20:47
Post #8





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


W tym podanym linku plik js ma 4kb bez gzipa i zawiera wszytsko co potrzebujesz. MOżna poszukać oczywiście innej biblioteki ale zależy czy chcesz wspierać starsze przeglądarki.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 17:21