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%)
-----


Nie potrzebujesz, ale wykorzystujesz. Przecież na tym jest oparty warunek.
Jeśli rozwiążesz ten problem, to będziesz wiedział co począć z właściwością right.
Go to the top of the page
+Quote Post
luis2luis
post
Post #3





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

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


Cytat(trueblue @ 24.08.2017, 15:32:03 ) *
Nie potrzebujesz, ale wykorzystujesz. Przecież na tym jest oparty warunek.
Jeśli rozwiążesz ten problem, to będziesz wiedział co począć z właściwością right.


dzieki za odpowiedzi.

Jeśli mnie oczy nie mylą, parametr ofset decyduje o tym kiedy dodac klase ".fly_lista". Klasa doaje siępoprawnie, ale jak wyjde wyżej to już nie jest kasowanato jest jedne z tych problemów.

--- aha wiem-

powineniem wartość offset.top zapisac sobie poza tym zdażeniem jako zmienną przekazać do skryptu, ponieważ później jak już element jest zafixowany to wtedy fixowany element już offset.top nie złapie.

pozostaje problem z pozycją od prawego boku ekranuj..

Ten post edytował luis2luis 24.08.2017, 15:04:21
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: 3.10.2025 - 02:08