Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #15741
| From | Marek S <precz@spamowi.com> |
|---|---|
| Newsgroups | pl.comp.lang.php |
| Subject | Re: Javascript Argument funkcji |
| Date | 2018-02-22 17:00 +0100 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <p6mpfn$7c1$1@node1.news.atman.pl> (permalink) |
| References | <5a8d4ed8$0$658$65785112@news.neostrada.pl> <p6k5os$6mr$1@node2.news.atman.pl> <5a8e70d0$0$557$65785112@news.neostrada.pl> |
W dniu 2018-02-22 o 08:27, konsul41@wp.pl pisze:
> Piszę "Applikację" SPA i nie ma sensu historia przeglądarki (wszystkie
> podstrony są ładowane dynamicznie do DIV, główny adres nie zmienia się).+
Nie lepiej mieć wtedy iframe'a? Nie będzie kłopotu z URLami. To tak na
marginesie bo poza wątkiem.
> Poszukuję pomysłu na coś w rodzaju historii na stronie.
> w jednym z div mam dwa przyciski jeden w tył, a drugi w przód.
> Jak w prosty sposób zrobić coś w rodzaju historii do której tylko
> nieliczne podstrony mogą dodawać "linki" gdzie można wrócić.
> (...) Nie wiem czy to dobry pomysł i jak to zrobić. Raczkuję dopiero w
> Javascript.
> A może można to lepiej zorganizować?
Ok, rozumiem. Tą pseudo-historię możesz trzymać gdzie chcesz -
cookies/magazyn. To jest ok. Ja bym to zrobił zupełnie inaczej.
Po pierwsze pakowanie fragmentów HTML'a, kodu JS z nim powiązanego itp.
jako kroków w historii to chory pomysł. Moim zdaniem krok historii
powinien być obiektem np:
krok={url_powrotu:xxx, cecha1:xxx, cechaN:xxx ...}
"Cecha" to jakiś parametr jeśli w ogóle go potrzebujesz. Potem
poszczególne kroki byłyby umieszczane w tablicy:
krkoki=[];
kroki.push(krok1);
kroki.push(krok2);
...i taki obiekt gdzieś tam, gdzie chcesz zapisywany i odczytywany. Zero
HTMLa, zero jakiś dziwactw - tylko dane.
Po drugie.
Rysowanie historii w dokumencie HTML powinno odbywać się z poziomu JS w
postaci odtwarzania kroków w/w tablicy i DYNAMICZNEGO kreowania
poszczególnych składowych. Zapomnij o innerHTML. Np. jeśli krok ma
wyglądać jako:
<section id="historia">
<div class="krok"></div>
<div class="krok"></div>
<div class="krok"></div>
...
</section>
To użyj
document.createElement("div");
Przypisz klasę, która określi wygląd, użyj addEventListener("click") do
uwrażliwienia na kliknięcie, przypisz obrazek do tła tego DIVa i/lub
dodaj tekst do DIVa. Potem go appenduj do elementu "historia". I tak w
pętli po wszystkich elementach historii za pomocą for...of.
Albo inaczej: przeczytaj najpierw jakiś podręcznik do programowania w
JS. Przy czym taki, który jest w miarę świeży, najlepiej dotyczący
ECMA6. Nie chodzi wyłącznie o zapoznanie się z referencjami JS ale
zasadami posługiwania się tym językiem w kontekście DOM, aplikacji WWW.
2-3 dni lektury z pewnością sporo rozjaśnią.
--
Pozdrawiam,
Marek
Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Javascript Argument funkcji "konsul41@wp.pl" <konsul41@wp.pl> - 2018-02-21 11:50 +0100
Re: Javascript Argument funkcji Marek S <precz@spamowi.com> - 2018-02-21 17:12 +0100
Re: Javascript Argument funkcji "konsul41@wp.pl" <konsul41@wp.pl> - 2018-02-22 08:27 +0100
Re: Javascript Argument funkcji Freja Draco <frreja@poczta.fm> - 2018-02-22 14:39 +0100
Re: Javascript Argument funkcji Freja Draco <frreja@poczta.fm> - 2018-02-22 14:55 +0100
Re: Javascript Argument funkcji Marek S <precz@spamowi.com> - 2018-02-22 17:00 +0100
Re: Javascript Argument funkcji "konsul41@wp.pl" <konsul41@wp.pl> - 2018-02-23 07:59 +0100
csiph-web