Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Timer i licznik - jak to "ożenić" z kodem html.
ogrzech
post 22.05.2017, 12:01:08
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 22.05.2017

Ostrzeżenie: (0%)
-----


Uszanowanie wszystkim,
Na początek wyznam, że o JS nie mam zielonego pojęcia.
Jest to ważne o tyle, że nawet korzystając z wyszukiwarki nie wiem, czego tak naprawdę szukać, a co gorsza - jak to zastosować...

Problem:
Mam stronę, której statyczna treść jest generowana poprzez zapytanie SQL wykonywane na serwerze bazy danych - w efekcie otrzymuję kod html. (W załączonym pliku jest bardzo okrojony - w rzeczywistości zawiera dużo więcej informacji.)
Zapytanie jest wykonywane cyklicznie poprzez cron'a, bo dane się okresowo zmieniają, przekodowywane na utf-8, i wysyłane na serwer hostujący. Strona wyświetlana jest w przeglądarce w trybie "Kiosk" i co pół godziny automatycznie się w przeglądarce odświeża.
"Dobre dusze" z pokrewnych organizacji podzieliły się ze mną arkuszem stylu oraz skryptami, które pozwalają wyświetlać treść w postaci "bloków" w sposób i w formacie, który jest dla mnie odpowiedni.
Do tego momentu wszystko rozumiem, wszystko potrafię (poza modyfikacją skryptu .js), no i wszystko działa.

Chciałbym jednak jeszcze dodatkowo dodać do strony timer typu countdown oraz licznik dla wyświetlanego "bloku" treści i liczbę "bloków" treści znajdujących się w pliku html.
I tu utknąłem...
W sieci jest co prawda multum przykładów timerów - i co najmniej kilka z nich próbowałem "ożenić" z kodem w skrypcie przewin.js, który mam do dyspozycji.
W najlepszym wypadku osiągnąłem jednak tylko to, że co prawda timer się aktualizował, ale nie zmieniały się wyświetlane "bloki". W przypadku "średnim" timer aktualizował się tylko dla pierwszego "bloku". A w najgorszym... spowodowałem crash przeglądarki ;-)

Natomiast na temat licznika i liczby "bloków" nawet nie wiem czego szukać...
Wydaje mi się, że trzeba byłoby w skrypcie policzyć ilość wystąpień
Kod
<div class="sp">
w dokumencie html (bo ten element identyfikuje w nim poszczególne "bloki" treści, a w trakcie wyświetlania odpowiednio inkrementować liczbę już wyświetlonych bloków.

Ważne:
Liczba "bloków" treści jest zmienna, więc nie można ustawić jej w skrypcie jako stałej.
Całość powinna działać w ten sposób, że timer powinien odliczać "w dół" czas do wyświetlenia kolejnego "bloku" (w załączonym pliku czas jest ustawiony na 5 sekund, w rzeczywistości będzie to coś z przedziału 15-30 sekund), natomiast w przypadku osiągnięcia ostatniego bloku cały "przewijanie" powinno cyklicznie się powtarzać od pierwszej pozycji do chwili automatycznego przeładowania strony, a po przeładowaniu oczywiście rozpocząć od jedynki.

Z niejakim wstydem muszę wyznać, że najbardziej będę wdzięczny za "gotowca" lub odesłanie do naprawdę łopatologicznie wyłożonej teorii - osobiście straciłem przez ten banalny przecież problem cały weekend, z zerowymi efektami...

Link do jsfiddle.net ze "zobrazowaniem" problemu:
https://jsfiddle.net/ysaych41/3/

Uwaga: miejsca na timer i licznik są daaaleko po prawej - strona ma pracować w rozdzielczości 1920x1200.

Skrypt na jsfiddle.net jest zapisany w pliku o nazwie przewin.js
Dodatkowo wykorzystywany jest jquery-1.9.1.js
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:13