Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/ajax] Ładowanie tekstu bez przeładowania strony
Forum PHP.pl > Forum > Przedszkole
patigo
Witam,

Kiedyś czytałem artykuł o tym jak zrobić pewein trick. Chodzi o to że planuję zrobić prostą stronkę (coś w rodzaju wizytówki), gdzie będzie proste menu - jakieś 4 pozycje. Chodzi o to żeby po kliknięciu jednej z opcji strona się nie przeładowywała ale załadował jedynie tekst tekst przyporządkowany dla danej opcji z menu.

Szukałem na forum ale jakoś nie natrafiłem na konkrety, być może źle szukałem dlatego też proszę o pomoc.

Z góry dziękuję.
PiXel2.0
Mozna to zrobic na dwa sposoby, ale jedynie przy uzyciu JavaScript.

Pierwszy sposob polega na tym, ze do przegladarki zostaja wyslane wszystkie tresci dla kazdej opcji i sa domyslnie umieszczone w ukrytych elementach:
  1. display:none;

A po wybraniu odpowiedniej opcji uruchamia sie funkcja JavaScript i odslania odpowiedni element.

Drugi sposob polega na tym, ze po wybraniu opcji rowniez uruchamia sie funkcja JavaScript, ale nie odslania ona tresci zawartych w dokumencie tylko pobiera je z serwera w czasie rzeczywistym.
Poczytaj o technologii AJAX.

Pierwszy sposob jest znacznie prostszy i mysle, ze w Twoim przypadku bedzie wystarczajacy.
patigo
A czy jakiś prosty przykład w JS mógłby ktoś umieścić? Jeżeli chodzi o JS to jestem kompletna noga.
Piniek
Proszę o dodanie tagu do tematu.
patigo
Cytat(Piniek @ 7.05.2008, 21:41:00 ) *
Proszę o dodanie tagu do tematu.

Jakiego tagu, o co chodzi??
Piniek
Zapraszam do zapoznania sie z regulaminem tego subforum http://forum.php.pl/Tematyka_i_zasady_panu...ole_t42815.html
PiXel2.0
No coz, tez jestem prawie zero z JavaScript, ale wyklepalem w pospiechu takie cos...
  1. <script language="JavaScript" type="text/javascript">
  2. function pokaz(pokaz_id){
  3. var elementy = document.getElementsByTagName('div');
  4.  
  5. for(i = 0; i < elementy.length; i++){
  6. var element_id = elementy[i].getAttribute('id');
  7. if(element_id >= 1 && element_id <= 4){
  8. if(element_id == pokaz_id)
  9. elementy[i].style.display = 'block';
  10. else
  11. elementy[i].style.display = 'none';
  12. }
  13. }
  14. }
  15. <div id="1" style="display:none;">to jest pierwszy element</div>
  16. <div id="2" style="display:none;">to jest drugi element</div>
  17. <div id="3" style="display:none;">to jest trzeci element</div>
  18. <div id="4" style="display:none;">to jest czwarty element</div>
  19. <input type="button" value="pokaz pierwszy" onclick="pokaz(1)" />
  20. <input type="button" value="pokaz drugi" onclick="pokaz(2)" />
  21. <input type="button" value="pokaz trzeci" onclick="pokaz(3)" />
  22. <input type="button" value="pokaz czwarty" onclick="pokaz(4)" />
patigo
No wiecie trudno jest mi dodać tag do tematu który nie wiem jak ugryźć. Jestem ledwo amator w PHP, JS, XML, CSS, i inne są mi niemal całkiem opce.

Wielkie dzięki.

Moje kolejne pytanko jako kolejny krok to:

W jaki sposób mogę teraz zmienić pozycję wyswietlanych tekstów w dowolnej części strony??
PiXel2.0
Cytat(patigo @ 7.05.2008, 23:53:54 ) *
W jaki sposób mogę teraz zmienić pozycję wyswietlanych tekstów w dowolnej części strony??


Umiesc div'y z trescia w innym miejscu to tam bedzie sie pokazywala ich zawartosc.
patigo
Dzięki wielkie!
Johnas
Ten kod pokazuje mi na początku wszystkie divy na raz dopiero po kliknięciu w jakiś odnośnik menu znikają inne divy. Jak zrobić aby na starcie był div o id 1?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.