Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Odczyt pozycji scrollTop po załadowaniu strony
swist666
post
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


Robię skrypt w którym chcę aby menu zostawało fixed po scrollowaniu w dół z animacją pomniejszającą container. Wszystko działa ok jednak jak odświerzę przewiniętą stronę (już na starcie jest niżej) to odbywa się cała animacja. A chciałbym aby menu pokazywało się od razu zeskalowane.

Próbowałem na początek wrzucić coś takiego ale nie pomaga:

[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2.  
  3. if($(window).scrollTop() > 59){
  4. // funkcje zmieniające parametry css z normalnych na te pomniejszone bez animacji
  5. }
  6.  
  7. });
[JAVASCRIPT] pobierz, plaintext


Oto cały kod:

[JAVASCRIPT] pobierz, plaintext
  1. var animate = true;
  2. $(window).scroll(function(e){
  3. var pos = $(window).scrollTop()
  4. var h = 59 + $('#kmp_cookies').outerHeight();
  5. if(pos > h){
  6. $("#sticky_header").addClass("fixed");
  7. if(animate){
  8. // funkcje zmieniające parametry css z normalnych na te pomniejszone z .animate
  9. }
  10. animate = false;
  11. }else{
  12. if(!animate){
  13. $("#sticky_header").removeClass("fixed");
  14. // funkcje zmieniające parametry css z pomniejszonych na domyślne z .animate
  15. }
  16. animate = true;
  17. }
  18. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował swist666 28.01.2014, 10:40:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Kod
$(document).ready(function() {

    var _top = $(window).scrollTop();

    if(_top > 59)
    {
        console.log('_top > 59');
    }

});


Takie coś śmiga?
Go to the top of the page
+Quote Post
swist666
post
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


nie.. konsola pusta. Nawet skasowałem resztę kodu i zostawiłem tylko to co wysłałeś i nadal pusto
Go to the top of the page
+Quote Post
markuz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Kod
$(document).ready(function() {

    var _top = $(window).scrollTop();
    console.log(_top);

});


A teraz coś się wyświetla?
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


[JAVASCRIPT] pobierz, plaintext
  1. $(window).on({
  2. scroll: function() {
  3. // przy scrolowaniu
  4. },
  5. load: function() {
  6. // po załadowaniu strony
  7. }
  8. })
[JAVASCRIPT] pobierz, plaintext

@markuz proponuje temat $(document).ready vs $(window)load
Go to the top of the page
+Quote Post
swist666
post
Post #6





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


Cytat(skowron-line @ 28.01.2014, 10:08:06 ) *
[JAVASCRIPT] pobierz, plaintext
  1. $(window).on({
  2. scroll: function() {
  3. // przy scrolowaniu
  4. },
  5. load: function() {
  6. // po załadowaniu strony
  7. }
  8. })
[JAVASCRIPT] pobierz, plaintext


Dalej nie wiem co zrobić aby uzyskać wartość o jaką przewinie przeglądarka stronę, bo za każdym razem jak odświeżę stronę to po document.ready wartość scrollTop = 0 a dopiero potem następuje przewinięcie strony w dół - sprawdzałem w chrome i safari. Jak uzyskać tą docelową wartość przewinięcia

ok znalazłem

[JAVASCRIPT] pobierz, plaintext
  1. setTimeout(function(){
  2. if($(window).scrollTop() > 59){
  3. // kod
  4. }
  5. },10);
[JAVASCRIPT] pobierz, plaintext


Aby działało dla chrome i safari trzeba to tak chyba obejść.. Nie wygląda to profesjonalnie ale ja nie znalazłem innego sposobu.
Go to the top of the page
+Quote Post
markuz
post
Post #7





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


[JAVASCRIPT] pobierz, plaintext
  1. $(window).on({
  2. scroll: function() {
  3. console.log($(window).scrollTop());
  4. },
  5. load: function() {
  6. console.log($(window).scrollTop());
  7. }
  8. })
[JAVASCRIPT] pobierz, plaintext


Ten post edytował markuz 28.01.2014, 11:12:26
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: 24.08.2025 - 22:40