[JS] umieszczanie kodu html w body za pomoca funkcji w head

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
moonkey
Posty: 5
Rejestracja: wt lip 13, 2004 11:50 am

[JS] umieszczanie kodu html w body za pomoca funkcji w head

Post autor: moonkey »

czy cos takiego jest mozliwe? chcialbym aby tresc jakiegos <div> byla zalezna od jakiegos innego elementu strony. chcialbym zrobic menu z 3 obrazkow, te mialy by ustawiony onclick ktory wywoluje jakas funkcje js, a ta z kolei zmienia kod zawarty <div>. bardzo prosze o pomoc. przegladnalem juz 3 kursy DOM i nigdzie nie bylo takiego przypadku.

//edit http://v-lo.krakow.pl/~moonkey/strona/index1.htm

nie wiem, czy ktokolwiek zrozumial problem, wiec postanowilem troche przyblizyc. chodzi o ta strone w powyzszym linku. kiedy klikam na "main" ma zmienic sie tekst ponizej. kiedy klikam na "music" czy "about", to samo. i kazda grafika ma miec przyporzadkowany swoj tekst.
kulmen
Nowy
Nowy
Posty: 64
Rejestracja: sob cze 23, 2007 3:24 am
Kontakt:

Re: [JS] umieszczanie kodu html w body za pomoca funkcji w head

Post autor: kulmen »

Da się zrobić. Tekst będzie się zmieniał w div o id=main.

Kod: Zaznacz cały

<img src="obrazek" onclick="document.getElementById('main').innerHtml = tekst1">
I tak dla każdego obrazka. A zmienne tekst1, tekst2 ustawiasz sobie w sekcji head. Z tym, że ta metoda powinna działać nawet dla gigantycznych tekstów, ale raczej do ładowania większej zawartości stosuje się AJAX a nie sam js i ładuje się pliki html w diva bo robienie tego powyższą metodą jest upierdliwe.

Jakby interesowało Cię jak to zrobić przy pomocy AJAX: Tutoriale AJAX
moonkey
Posty: 5
Rejestracja: wt lip 13, 2004 11:50 am

Re: [JS] umieszczanie kodu html w body za pomoca funkcji w head

Post autor: moonkey »

napisalem narazie funkcje w php otwierajaca plik z tekstem (lacznie z tagami html) o ktory mi chodzi oraz kod ktory z wykorzystaniem sajax wysyla to do przegladarki. wszystko bylo by super, gdyby nie fakt, ze do przegladarki dociera tylko pierwsza linijka pliku. nie wiem w ktorym miejscu kod "zjada" reszte, napewno nie w php. a oto i kod.

Kod: Zaznacz cały

<?
 
 require("Sajax.php");

 function zmiana_tekstu($id)
 {
   $tresc = fopen("tekst\\" . basename($id) . ".txt", "r");
   
  if ($tresc == false)   
    {
    echo "Niestety, strona którą chcesz otworzyć nie istnieje.";
    } 
    
    else   
    {
    while (!feof($tresc))     
      {
      $bufor = fgets($tresc);
      return $bufor;
      }      
    fclose($plik);
    }
 }

 sajax_init();
 sajax_export("zmiana_tekstu");
 sajax_handle_client_request();

?>

 <html>
 <head>
 <title>Test</title>
 <script>
 <? sajax_show_javascript(); ?>
  
 function wyswietl_rezultat(rezultat) {
 document.getElementById('wynik').innerHTML = rezultat;
 }
  
 function wykonaj_funkcje(podajid) {
 x_zmiana_tekstu(podajid, wyswietl_rezultat);
 }
  
 </script>
 </head>
  
 <body>
 podaj id: <input id="podajid" type="text"><br>

 <input type="button" onClick= "wykonaj_funkcje(document.getElementById('podajid').value);" value="zmien tekst">

 <div id="wynik"> </div>
 </body>
 </html>
bardzo prosze o pomoc.
moonkey
Posty: 5
Rejestracja: wt lip 13, 2004 11:50 am

Re: [JS] umieszczanie kodu html w body za pomoca funkcji w head

Post autor: moonkey »

juz znalazlem blad, jednak w php. powinno byc

Kod: Zaznacz cały

 function zmiana_tekstu($id)
 {
   $tresc = fopen("tekst\\" . basename($id) . ".txt", "r");
   
  if ($tresc == false)   
    {
    echo "Niestety, strona którą chcesz otworzyć nie istnieje.";
    } 
    
    else   
    {
    while (!feof($tresc))     
      {
      $bufor = fgets($tresc);
      $dowyslania .= $bufor;
      }      
      return $dowyslania;
    fclose($plik);

    }
 }
ODPOWIEDZ