![]() |
![]() ![]() |
![]() |
--afgan227-- |
![]()
Post
#1
|
Goście ![]() |
Witajcie
Mam mały problem. Muszę zrobić stronę w Xhtml 1.0 z elementami javascript. Stronę napisałem. Teraz kombinuję ze skryptem. Wymyśliłem sobie , że napisze skrypt, który będzie odliczał czas do zawodów. Znalazłem w internecie kilka skryptów o podobnym działaniu. Spróbowałem coś napisać od siebie. Nie jestem pewny 2 rzeczy. Pierwsza to poprawności tego co namazałem, druga czy dobrze wstawiam to na stronę. Tak jak widać w linku wydumałem sobię by pozostały czas był wpisywany w okienka. Co do wstawiania skryptu w xhtml trzeba to zrobić na stronie pod koniec sekcji body ? za pomocą \ i jeszcze taki zapis Tak to wygląda PS. Dopiero raczkuję , więc mam nadzieje , że będziecie wyrozumiali |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Ty to pisałeś? Bo wygląda jak zlepek czegoś, o czym nie masz pojęcia:
1. Nigdzie nie deklarujesz zmiennej pozostalyCzas, a na początku funkcji ją sprawdzasz, 2. w instrukcjach IF zawsze rób klamerki! Tutaj else wisi sobie gdzieś w powietrzu, do tego cała instrukcja jest źle zbudowana, 3. drift1 i teraz mają taką samą datę, którą później porównujesz, 4. napisałeś funkcję ileDoEventu i jej w ogóle nie uruchamiasz, 5. ustawiając interwał podajesz argumenty (ileDoEventu(2014, 1, 10, 0, 0, 0, 0)), a funkcję napisałeś tak, że nie przyjmuje żadnych. Zacznij od podstaw, zobacz jak się debuguje javascript |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 17.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Miałeś rację z tym poduczeniem. Na szybko pisane i sporo błędów. Postanowiłem poczytać i zacząć budować od najprostszych rzeczy ten skrypt od nowa. I wzbogacać go o dodatkowe elementy. Po paru ładnych chwilach spędzonych z nim kod wygląda tak :
kod aczkolwiek w takiej formie jak jest to wyrzuca non stop te odliczanie. Chciałbym aby wynik wrzucał np do okienka w tabeli. Jak to zrobić? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 17.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
O kurcze. Nie spodziewałem się aż takiej pomocy (IMG:style_emoticons/default/smile.gif) Teraz widzę jak dużo mi brakowało. Nie jestem pewny czy dobrze rozumiem kod. Na początku tworzone są 2 tablice. Jedna z datami, a druga z czymś. W każdym razie ta druga przypisuje elementy z formy zegara.
Metoda sliced jakby dzieli dwie zmienne i tworzy z niej jedną inną tak? W tym wypadku "bierze" date wydarzenia i miejsce gdzie ma być wpisane ile zostało. Zgadza się? Nie rozumiem tylko zapisu, a może raczej zasady działania. Kod function countDate(actualTime, eventDate, outputNodeNumber){
if( actualTime > eventDate ){ if( inputsCopyNode.length !== 0 ){ inputsCopyNode.splice(outputNodeNumber, 1); eventsTime.splice(outputNodeNumber, 1); sliced = true; return 'Nieaktualne'; |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 8 Dołączył: 22.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
- do funkcji przekazywana jest tablica z datami kolejnych wydarzeń wg. określonego formatu
- tworzona jest "kopia" kolekcji z kontrolkami formularza (kolekcja elements formularza jest tylko do odczytu). (*) - definicja funkcji odpowiadającej za obliczenie czasu i zwrócenie odpowiedniego łańcucha - definicja funkcji odpowiadającej za wypełnienie wszystkich "inputów" formularza - wypełnienie danymi "inputów" po wejściu na stronę - ustawieni interwału który będzie wypełniał te "inputy" co sekundę Metoda splice przycina tablicę (usuwa z niej dane o określonym indeksie), w tym przypadku usuwa z tablicy zawierającej referencję do "inputów", ten z nich w którym wyświetli się tekst "nieaktualne" - przycina też w analogiczny sposób tablicę wejściową (tą z datami). Jeżeli wszystkie pola będą "nieaktualne" to kończy interwał. Tak naprawdę część tej funkcji jest tylko po żeby skrypt(funkcja odpowiedzialna za wyświetlanie wyników) nie przechodził nie potrzebnie po wszystkich "inputach", a tylko przez te które są "aktualne" - taka forma "optymalizacji" heee (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:51 |