Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [css] [JavaScript] Element przyklejający się do ekranu po skrolowaniu., Skrypt nie do końca dobrze działa.
luis2luis
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 25.11.2015

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


Witam.

Przygotowałem skrypt, który przykleja element do okna przeglądarki (position:fixed) gdy górna kraweź przeglądarka zjeżdżając w dół, scrolując osiągnie już ten element

Już mniej więcej działa, jak osiągne górną granice tego elementu, to zmienia sie pozycja.


  1.  
  2. <script>
  3. $(document).ready(function() {
  4.  
  5. $(document).on('scroll', function() {
  6.  
  7. var header_height = $("#top-fixed-menu").outerHeight();
  8. var offset = $("#top-fixed-menu").offset();//offset czyli pozycja wzgleden góry strony.
  9.  
  10. var offset_top = offset.top;
  11.  
  12. if ($(window).width() > 960) {//tylko dla szerokich monitorów
  13. if ($(window).scrollTop() >= offset_top) {
  14.  
  15. $("#top-fixed-menu").addClass("fly_lista");
  16. } else {
  17.  
  18. $("#top-fixed-menu").removeClass("fly_lista");
  19. }
  20. }
  21. });
  22. });
  23. </script>
  24.  
  25. <style>
  26. #top-fixed-menu { position: relative; background: #262f36; float: right; width: 380px; min-height: 100px; color: #fff; }
  27. .fly_lista { position: fixed !important; top: 0px !important; right: 0px !important; }
  28. </style>
  29.  


Prosze o pokierowanie. Widzę, że w momencie gdy element dostaje position fixed, parametr top jest dosyc łatwy do określenia ale co z pozycją right? :/
Dodatkowo jak wracam spowrotem na góre to element dalej ma pozycje fixed. Coś nie tak jest z kodem javascript.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Skoro element po dodaniu klasy .fly_lista ma pozycję fixed, to jaki jest sens pobierania wtedy jego pozycji (offset)?

A co do położenia od prawej, to trudno Ci odpowiedzieć, bo nie wiadomo jaka jest jego pozycja kiedy nie jest zafiksowany. Chyba, że przed przyklejeniem również jest umiejscowiony przy prawej krawędzi. Wtedy nic nie trzeba zmieniać.
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.09.2025 - 00:05