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

komuniakt: 'document' is not defined

Object Storage Arubacloud
0 głosów
1,479 wizyt
pytanie zadane 9 maja 2018 w JavaScript przez Regmar Nowicjusz (120 p.)

Dzień dobry!

Problem klasyczny, ponieważ w edytorze kodu pojawia mi się komuniakt:

'document' is not defined

Szukałem i próbowałem rozwiązań w wielu miejscach, także na tym forum, jednak nic nie pomaga. Nie wiem czy to ja już źle szukam/sprawdzam, czy problem faktycznie jest. Konsultowałem się w tej sprawie z jednym web developerem i z tego co usłyszałem "u niego działa". Proszę o pomoc.

Fragment kodu HTML odnoszący się do elementu i do pliku js. Poniżej kod w pliku js.

<body>
       <header>
          <nav>
          <i class="fas fa-bars"></i>
          </nav>
          
           <hgroup>
            <h1> Lorem ipsum dolor sit amet</h1>
            <h3><span> Lorem ipsum dolor sit amet,</span>
            consectetur adipiscing elit.</h3>
            </hgroup>
            
            <img src="img/foto.JPG">
            
            <div id="arrow"><i class="fas fa-angle-down"></i></div>
        </header>
<main>
  
</main>

<script src="js/java.js"></script>

</body>
var arrow = document.querySelector("#arrow");

Problem pojawił się przy próbie skorzystania z funkcji animate w jQuery. Przed plikiem js w htmlu dodałem AJAXa, a w pliku js:

arrow.addEventListener('click', function () {
    document.querySelector("body,html").animate({
        scrollTop: 400
    }, 1000);
});

Niestety animacja przewijania nie działa.

1 odpowiedź

+1 głos
odpowiedź 9 maja 2018 przez ProgramistaStepek Nałogowiec (27,020 p.)
document.querySelector("body,html").animate({
        scrollTop: 400
    }, 1000);

Nie możesz tak zrobić, bo .animate jest to metoda charakterystyczna dla obiektów jQ. Aby to zadziałało daj 

$('body,html').animate({
        scrollTop: 400
    }, 1000);

IMO animowanie przez jQ to już raczej historia i lepiej jest użyć animacji CSS 

1
komentarz 9 maja 2018 przez Comandeer Guru (601,110 p.)

Nie możesz tak zrobić, bo .animate jest to metoda charakterystyczna dla obiektów jQ.

https://developer.mozilla.org/en-US/docs/Web/API/Element/animate :P

Niemniej składnia jest inna. 

komentarz 9 maja 2018 przez ProgramistaStepek Nałogowiec (27,020 p.)

Zwracam honor. smiley

komentarz 10 maja 2018 przez Regmar Nowicjusz (120 p.)

@ProgramistaStepek,
Przepraszam, powinienem napisać to wcześniej. Próbowałem wcześniej całość oprzeć na JQ, ale otrzymywałem podobny błąd, z tym że zamiast 'document' był '$'.

Myślałem, że maksymalne wyeliminowanie składni JQ rozwiąże problem.

Popatrzę za tym rozwiązaniem w css, nie mniej i tak nie rozumiem skąd ten błąd opisany na początku. :(

1
komentarz 10 maja 2018 przez Comandeer Guru (601,110 p.)
Hmm… A to jest błąd tylko w edytorze? Bo na stronie to powinno działać bez problemu.
komentarz 10 maja 2018 przez Regmar Nowicjusz (120 p.)
Przepisałem kod na nowo, tym razem w całości w JQ i mimo tych błędów odpaliłem w przeglądarkach. Jest ok. ;) Problemy sprawiał ( i nadal sygnalizuje) tylko edytor kodu (Brackets). Dzięki!
1
komentarz 10 maja 2018 przez ProgramistaStepek Nałogowiec (27,020 p.)
To zmień edytor :)

Podobne pytania

0 głosów
1 odpowiedź 208 wizyt
pytanie zadane 15 kwietnia 2018 w JavaScript przez pawełrichert Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 610 wizyt
0 głosów
1 odpowiedź 2,900 wizyt
pytanie zadane 16 stycznia 2016 w JavaScript przez KapiziaK Użytkownik (900 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

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

...