Kezdőoldal » Számítástechnika » Programozás » JavaScript nyelven írt dátum...

JavaScript nyelven írt dátum idő visszaszámláló miért nem frissít?

Figyelt kérdés

Sziasztok!


Már 2 napja töröm a fejemet, hogy mit rontottam el a programomban. Egy nap idő visszaszámláló programról van szó. A gondom az vele, hogy a képernyőn nem frissíti a vissza számlálást, csak ha frissítem az oldalt, a dolog egészen addig működött jól amíg nem raktam bele egy funkcióba az egészet. Onnantól kezdve nem frissíti, csak ha rásegítek.


A kód itt érhető el.:


[link]


Köszönöm előre is a segítségeteket!



2015. szept. 17. 11:41
 1/4 anonim ***** válasza:

A kód ott nem érhető el, de lehetőleg ne RAR fájlokban oszd meg; ott a pastebin.


Valószínűleg rosszul emelted át a megoldásodat függvénybe, és eltörik.

2015. szept. 17. 20:07
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Kieg.: Nézd meg a böngésződ hibakonzolját, reklamál-e valamiért.


Chrome: Ctrl+Shift+J

Firefox: Ctrl+Shift+K (ha jól emlékszem)

IE: F12 -> Konzol/Console

2015. szept. 17. 20:09
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:

Csak ennyi a panasza, hogy nincs definiálva az egyik függvényem.


"ReferenceError: Vissza_Szamolas is not defined"

2015. szept. 17. 22:05
 4/4 anonim ***** válasza:

Tehát a keresett függvény nem létezik - és ezzel a névvel talán jobb is ;) -, te pedig megpróbálod meghívni.


Nézd át mégegyszer a kódot, hogy, hogy hol próbálsz meg nemlétező szubrutint hívni és miért. Rosszul hívod, vagy léteznie kellene? Ha előbbi, javítsd ki.

Ha utóbbi, akkor jön a következő kérdés: Miért nem létezik?


Első blikkre talán a sorrend lehet a ludas. A JS engine olyan sorrendben értelmezi a kódot, ahogyan megtalálja. A következő például el fog hasalni:


helloWorld();


function helloWorld() {

˙˙˙˙alert('Hello, World!');

};


A parser még nem jutott el odáig, hogy tudja, mi az a "helloWorld", de már megpróbáltuk meghívni. Nyilván nem fog menni.


Ezt viszont megteheted:


function helloWorld() {

˙˙˙˙sayHello();

};


function sayHello() {

˙˙˙˙alert('Hello, World!');

};


helloWorld();


Miért? Mert a "helloWorld" függvény tartalmát ugyan megadjuk, lefutni ettől még nem fog, így a JS motor nem kezdi el egyből keresni a még nem létező "sayHello"-t. Majd runtime. Mire az utolsó sorban meghívjuk "helloWorld"-öt, addigra "sayHello" is létezik, így az egész rendben lefut és mindenki boldog.


Összegezve: Minden függvényt még azelőtt kell megadni, mielőtt először futtatnád. Ennek persze egyértelműnek kellene lennie, de sokan beleesnek ebbe a csapdába.


Ha nem ez a gond, akkor így, látatlanban elég nehéz ötletelni...

2015. szept. 18. 11:05
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!