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

Problem z JS w HTML

Object Storage Arubacloud
0 głosów
186 wizyt
pytanie zadane 29 marca 2016 w Inne języki przez olsześ Gaduła (3,080 p.)

Witam,
na swojej stronie korzystam ze skryptu, który wyświetla mi statystyki (od 0 do n-tej liczby). Strona jest typu parallax scrolling- wszystkie podstrony w jednym pliku html. 

Problem jest następujący. Chciałbym, aby ten skrypt http://pastebin.com/vuwrtZgH włączał się nie przy starcie strony, lecz dopiero gdy strona będę na podstronie #statystyki gdzie znajduje się ten skrypt. 

Jak mam tego dokonać? :) 

3 odpowiedzi

+1 głos
odpowiedź 30 marca 2016 przez Ares21 Bywalec (2,260 p.)
wybrane 5 kwietnia 2016 przez olsześ
 
Najlepsza
$(document).ready(function() {
    function showStatistics() {

        function isScrolledIntoView(elem) {
            var $elem = $(elem);
            var $window = $(window);

            var docViewTop = $window.scrollTop();
            var docViewBottom = docViewTop + $window.height();

            var elemTop = $elem.offset().top;
            var elemBottom = elemTop + $elem.height();

            return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
        }


        $(document).scroll(function scrollHandler() {
            if (isScrolledIntoView("#statystyki") == true) {
                $(document).off('scroll', scrollHandler);
                nazwaFunkcji();
            } else {

                return 0;
            }
        })
    }
    showStatistics();

    function nazwaFunkcji() {

    }
});

W skrócie pierwsza funkcja działa rozpoznawczo - sprawdza czy dany elemnt wyświetla się już na ekranie monitora. Jeśli zwróci true to wycofuje działanie .scroll() i wykonuje twoją funkcję którą musisz nazwać i zapakować niżej.  

+1 głos
odpowiedź 29 marca 2016 przez Mizukage Pasjonat (21,750 p.)
Nie wiem, ale może latwiej go przerobic pod te odległości od top strony
+1 głos
odpowiedź 29 marca 2016 przez Ares21 Bywalec (2,260 p.)
edycja 29 marca 2016 przez Ares21

Domyślam się, że masz hash'owanie w adresie url na scrollu?
 

$(document).ready(function() { 
  var hash = window.location.hash;

  if(hash == "#statystyki") {
    nazwaFunkcji();
  } else {

  return 0;
  }
})

Tylko nie pakuj tam całej funkcji, nazwij ją i wywołaj w miejscu if. 

komentarz 29 marca 2016 przez olsześ Gaduła (3,080 p.)
Nie mam hash'owania w adresie url :p
komentarz 5 kwietnia 2016 przez Mizukage Pasjonat (21,750 p.)
ciekawe skad pomysl z hashem

Podobne pytania

0 głosów
2 odpowiedzi 207 wizyt
pytanie zadane 19 marca 2018 w JavaScript przez marcolo Obywatel (1,530 p.)
0 głosów
1 odpowiedź 175 wizyt
–2 głosów
0 odpowiedzi 163 wizyt

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

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

...