Witajcie,
Zastanawialiście się kiedyś jak działają strony które są w pełni dynamiczne? Jak wczytują się nowe pliki a stare usuwają po kliknięciu na zwykły odnośnik? To dobrze trafiliście! Zaprezentuje Wam tutaj prosty sposób jak to zrobić.
Zaczynamy od struktury katalogów:
W index.php musimy wczytać potrzebne pliki, oraz zrobić element do którego zostanie wczytany plik:Kod:WIELKIE LITERY = katalog; małe litery = plik; GŁÓWNY_KATALOG: _ index.php __ JAVASCRIPT/ ___ page_load.js ___ jquery.js __ FILES/ ___ home.php
Tak więc po zapoznaniu się z plikiem index.php powinniśmy mniej więcej wiedzieć jak to już będzie działało. Przejdźmy do pliku home.php:Kod html:<!DOCTYPE html> <html> <head> <title>Dynamiczne wczytywanie plików</title> </head> <body> //lista odnośników, po kliknięciu plik zostanie wczytany dynamicznie <menu> <a href="home.php">Home</a> </menu> //tutaj zostaną wczytane pliki <div id="page_load"> <p>To jest plik index.php!</p> </div> //wczytujemy bibliotekę jquery.js którą należy pobrać ze strony http://www.jquery.com/ <script src="javascript/jquery.js"></script> //wczytujemy plik który będzie dynamicznie wczytywał pliki do elementu #page_load <script src="javascript/page_load.js"></script> </body> </html>
Czas przejść do pliku jquery.js, możemy go pobrać z oficjalnej strony owej biblioteki: http://www.jquery.com/Kod html://wyświetlamy tylko tekst, nic innego w tym tutorial'u nie potrzebujemy :) <p>To jest plik home.php!</p>
Na koniec plik page_load.js:
Trzeba oczywiście pamiętać, że w ten sposób wczytamy tylko plik do danego elementu, strona nie będzie w prawie żadnym stopniu dynamiczna. Aby osiągnąć ten efekt stu procentowej lekkości, należy również dynamicznie wczytywać inne elementy strony, jak i przesyłać dane z formularza za pośrednictwem AJAX'a.Kod:$(function(){ //gdy strona zostanie wczytana $("menu a").click(function(){ // gdy kliknięto w odnośnik (a) który znajduje się w elemencie menu var file = $(this).attr("href"); //bierzemy atrybut href z odnośnika a, w naszym przypadku będzie to home.php $("#page_load").hide().fadeIn(1000).html('Ładuję...'); //ukrywamy element #page_load, w naszym przypadku tekst "To jest plik index.php!" i pokazujemy tekst "Ładuję...". $("#page_load").load("files/"+file); // wczytujemy do elementu #page_load plik który zdefiniowaliśmy wcześniej, czyli zmienną "file", znajdujący się w katalogu "files/" return false; // zwracamy false, aby strona się nie odświeżyła. }); });
Mam nadzieję, że będzie przydatne i zrozumiałe.
Gdybyście znaleźli błędy, lub chcieli coś poprawić piszcie w tym temacie.
Bartek


Odpowiedz z cytatem


Zakładki