Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ładowanie strony do "diva"
Forum PHP.pl > Forum > XML, AJAX
Lepikur
Witam, posiadam następujący skrypt ajax. Klikając link wywołujący funkcję strona(plik) ładuje mi stronę o nazwie "plik" do diva o nazwie "okno"
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. function strona(plik) {
  4. if (plik!='glowna' && plik!='cennik' && plik!='kontakt' && plik!='galeria' && plik!='osiagniecia' && plik!='linki') return false; <-- tu masz instrukcje sprawdzającą czy zmienna plik istnieje.
  5. var xml = null;
  6. var wynik = document.getElementById("okno");
  7. wynik.innerHTML = "Trwa ładowanie strony";
  8. if (window.XMLHttpRequest) xml = new XMLHttpRequest();
  9. else if (window.ActiveXObject) xml = new ActiveXObject("Microsoft.XMLHTTP");
  10. if (xml) {
  11. xml.onreadystatechange = function() {
  12. if (xml.readyState==4) {
  13. wynik.innerHTML = xml.responseText;
  14. }
  15. }
  16. xml.open("GET","html/"+plik+".php", true); <-- tu pisze jakie pliki i skąd ma je ładować ( zmienna plik zdefiniowana wyżej)
  17. xml.send(null);
  18. }
  19. return false;
  20. }
  21. strona('glowna');
  22. //]]>
  23. </script>

I teraz mam pytanie smile.gif

Czy mogę zmieniać rozmiar tego diva "okno", bo niektóre ładowane strony są dłuższe, inne krósze (szerokość taka sama)
Stronę mam zrobioną w xhtml+css, i na początku miałem zrobioną (bez ajaxa) w taki sposób, że jak kiknąłem np "galeria" to ta strona miała w swoim kodzie <div id="okno" class="rozmiar1"> gdzie w arkuszu css były zdefiniowane parametry formatowania "okna" a w klasie "rozmiar1" ustawiona długość okna.

Teraz w tym ajaxie mi się to sypie, bo ładowana galeria wstawia mi się do diva o określonch, stałych parametrach długości.

Mam nadzieję że w miarę jasno postawiłem problem. Mógłby ktoś pomóc? Dopiero zaczynam w javascript/ajax
kalmaceta
ustawiaj wynik.style.with i height. nie wiem jak pozycjonujesz elementy ale może auto wystarczy.
Kshyhoo
Pokaż css.
Lepikur
css

  1. #okno
  2. {
  3. padding:0px;
  4. margin:0px;
  5. float:left;
  6. width:736;
  7. color:black;
  8. background-image: url(foty/gazeta.jpg);
  9. background-repeat:no-repeat;
  10. }
  11. .rozmiar1
  12. {
  13. height:520;
  14. }


Spróbuję też dać height na auto, może sam się będzie dopasowywać.
kalmaceta
będzie się dopasowywać do contentu, tak już mają elementy blokowe
Lepikur
Ok, faktycznie, ładnie się dopasowywuje. Dzieki
Mam natomiast jeszcze jeden problem:

Ładowane treści nie mają polskich znaków (bez ajaxa wszystko było ok)
Dodam że u mnie każda ładowana treść to osobna strona zaopatrzona we wszystkie znaczniki META, HTML, BODY itd (nie wiem czy wystarczy dać poprostu goły kod ładowanej treści w stylu <div id=costam">tresc ladowana</div> bez żadnych znaczników, a strona która wywołuję tą treść powinna w to wszystko być zaopatrzona

EDIT: rozwiązane. W łądowanym pliku php wkleiłem <?php header("Content-Type: text/html; charset=ISO-8859-2"); ?> w miejscu gdzie są <META>
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.