![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ponizszy kod wyswietla mi losowy link z nazwa miasta
jak zrobic aby np na stronie automatycznie co 3 sekundy pobieralo mi nowa nazwe z bazy. Po prostu zeby co 3 sekundy wyswietlal sie link do innego miasta. albo inny sposob ze za jednym razem pobiore wszystkie nazwy z bazy i bede mial np wypisane jedno pod drugim, ale jak zrobic zeby pozniej losowo wyswietlal co 3 sekundy. Chodzi mi o samo wyswietlanie, taki automat. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się AJAX-em. Najłatwiej skorzystać z gotowca typu jquery czy mintAjax, ale napisanie własnego też nie jest trudne - dobry kurs jest na Wikipedii
W sumie to jest też inna możliwość. Z bazy danych wyciągasz wszystkie dane(lub np. koło 100, zależy ile masz tych miast) i wrzucasz wszystko do tablicy, którą następnie przekazujesz do JS, a ta losuje co 3 sekundy odpowiednie miasto ![]() Ten post edytował kamil4u 24.04.2009, 13:27:22 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
widze ze ogolnie mintajax mnie zainteresowal, ale takie szybkie pytanie...
przyklady sa np:
w ktorym miejscu umieszcza sie to pierwsze? umieszcze nie to inna bajka i to dodatkowo, ale gdzie ten pierwszy kod sie umieszcza? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
W znacznikach <script></script> w <head>? A samą funkcję wywołujesz w ... popatrz sobie w ich źródło bo nie wiem
![]() Ten post edytował kamil4u 24.04.2009, 14:18:48 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
no wlasnie nie... tak robie i nic sie nie dzieje
czegos brakuje |
|
|
![]()
Post
#6
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
to też masz mieć w head. w znacznikach <script>.
najlepiej pod deklaracją tego: -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Dodaj zdarzenie load dla body:
Kod <body onLoad="OnLoad();"> @UP: Ale funkcję należy jeszcze wywołać ![]() Ten post edytował kamil4u 24.04.2009, 14:33:14 -------------------- |
|
|
![]()
Post
#8
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
~kamil4u chyba onload a nie onLoad.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
No to mam cos takiego
i wyswietla sie biala strona plik index.html mam w tym samym katalogu co mintAjax.js |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Jako atrybut HTML bez znaczenia. Jak deklarujemy zdarzenie np. tak:
Kod referencja_do_elementu.onload = funkcja; //tu wielkość ma znaczenie (bez podtekstów) Mówiłem wcześniej żebyś w źródło popatrzył: http://mintajax.pl/templates/mintajax/guide/widget_tabs.php Ten post edytował kamil4u 24.04.2009, 14:40:56 -------------------- |
|
|
![]()
Post
#11
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
wystyluj to.
i jeszcze pamiętaj ze w plikach tab1.html, tab2.html, tab3.html musisz coś mieć. -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
no teraz juz dziala:) te style mnie zgubily, dzieki Wam za pomoc
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
To teraz wywal to, bo korzystanie tutaj z AJAXa to głupota. Niepotrzebnie katujesz serwer dziesiątkami, a wręcz tysiącami bezsensownych zapytań, które również obciążają bazę.
Pobierz odrazu ok. 50 rekordów (nie ma potrzeby większej ilości. Nic się nie stanie jak po 150 sekundach ogłoszenia zaczną się powtarzać. No chyba, że z założenia użytkownik będzie miał się gapić w "dodatkowy bajer" przez 2:30 minuty i tak przeglądać treść serwisu - ale wtedy to trzeba zmienić założenie :]) 1) Pobierasz 50 rekordów i wyświetlasz je w formie JSowej tablicy dwuwymiarowej: Kod var data = new Array( W kodzie XHTML pamiętaj o tym by wyświetlić statycznie pierwszy rekord (tak by użytkownicy bez JS również widzieli jakąś treść (statyczną)).new Array(12, "Treść", "http://link", "data"), new Array(12, "Treść", "http://link", "data"), new Array(12, "Treść", "http://link", "data"), new Array(12, "Treść", "http://link", "data"), itd. ); I po stronie PHP to tyle. Teraz wystarczy napisać prosty skrypt JS, który: 1) Najpierw przy pomocy window.setInterval() będzie wykonywał co 3 sekundy jakąś funkcję 2) Funkcja ta przy pomocy element.removeChild(child) usunie całą treść elementu (element to referencja do p#abc, a child to referencja do p#abc > a) 3) Następnie przy pomocy document.createElement(), element.setAttribute() oraz element.appendChild() utworzy nowy link i wrzuci go w miejsce starego. Roziwązanie dużo łatwiejsze oraz mniej pamięcio/czasożerne. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Nie żebym się czepiał, ale napisałem:
Cytat W sumie to jest też inna możliwość. Z bazy danych wyciągasz wszystkie dane(lub np. koło 100, zależy ile masz tych miast) i wrzucasz wszystko do tablicy, którą następnie przekazujesz do JS, a ta losuje co 3 sekundy odpowiednie miasto smile.gif (i w sumie to masz rację, że lepiej będzie nie męczyć serwera [tego już nie napisałem] ![]() I pytanie o de mnie: Cytat 2) Funkcja ta przy pomocy element.removeChild(child) usunie całą treść elementu (element to referencja do p#abc, a child to referencja do p#abc > a) 3) Następnie przy pomocy document.createElement(), element.setAttribute() oraz element.appendChild() utworzy nowy link i wrzuci go w miejsce starego. IMO lepiej będzie jak będziemy zmieniać tylko parametry starego linku zamiast usuwać i tworzyć elementy co 3s. Nie uważasz? Ten post edytował kamil4u 24.04.2009, 15:20:46 -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Racja - nie pomyślałem o tym
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:32 |