Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAjax] załadowanie pliku do div
Forum PHP.pl > Forum > XML, AJAX > AJAX
mynio
witam
na stronie zamieszczonej tutaj: http://tkowalczyk.com/strona_szkoly/
którą zrobiłem dla pewnej szkoły, nie podoba mi się jedna rzecz i nie wiem do końca jak się jej pozbyć.

Chodzi o menu brzydko wygląda gdy ono się ładuję bo wtedy się tak rozjeżdża po całej stronie, mam nadzieję, że zauważycie o co chodzi. Wymyśliłem więc by załadować to menu z pliku za pomocą Ajaxa tyle, że nie dokońca mi to wychodzi, nalepiej by było jakby pojawiał się obrazek podczas wgrywania pliku i gdy bedzię cały załadowany potem go wczytać na stronę.

Mój kod, który nie bardzo działa:
  1. <script language="JavaScript" src="advajax.js"></script>
  2. <script language="JavaScript">
  3. advAJAX.setDefaultParameters({
  4. onSuccess : function(obj) {
  5.  
  6. document.getElementById(obj.tag).innerHTML = obj.responseText;
  7. }
  8. });
  9. advAJAX.get({ tag: "bgBlue", url: "inc/menu.inc" });
  10. </script>

z góry dzięki za pomoc
pzdr
jarrod
Zmień

  1. #bgMenu {
  2. width: 100%;
  3. height: 182px;
  4. background-image: url('../images/bg_menu.jpg');
  5. }

na
  1. #bgMenu {
  2. width: 856px;
  3. height: 182px;
  4. background-image: url('../images/bg_menu.jpg');
  5. }

w pliku style.css. Powinno pomóc ponieważ tego diva nic nie trzyma (poza <div id="page"> ale on nie ma właściwości css).

Pozatym zdaje się że zadeklarowałeś dokument jako XHTML STRICT zatem usuń puste elemety "<li></li>" i pamiętaj że każde zdjęcie musi mieć atrybut alt bo inaczej nie przejdzie walidacji winksmiley.jpg
mynio
niestety to nie rozwiązuje problemu ponieważ zwłaszcza na wolnym łączu menu 'się buduję podczas' ładowania strony zamieszczam screen, który to pokazuję:
http://tkowalczyk.com/patrz.jpg
pzdr
jarrod
Dzieje się tak dlatego bo skypt formatujący to menu wywołuje się dopiero po załadowaniu się strony a nie po załadowaniu się menu.

  1. <body onload="DynarchMenu.setup('menu1', { vertical: true });">


Moższ spróbować ominąć to poprzez usunięcie atrybutu onload i poniżej tabelki z menu dodać:

  1. <table><tr><td valign="top" class="leftside">
  2. <!-- reszta kodu tabelki -->
  3. </tr></td></table>
  4. <script type="text/javascript">DynarchMenu.setup('menu1', { vertical: true });</script>

Wówczas javascript wykona się zaraz po załadowaniu tej części tabeli i nie powinno być problemów przy wolnym łączu.

tak czy inaczej zmień szerokość tego diva aby tabelka ci się nie rozjeżdżała bo wygląda to fatalnie (ten background po bokach - chociaż na Twoim zdjęciu tego nie widac...)
mynio
no dzięki ten sposób spełnia moje oczekiwania, ale nie wiem o co Ci chodzi z tym divem u mnie wszystko wygląda OK, jak co to wrzuć screena co jest nie tak
pozdro
jarrod
zdjęcie

Dodatkowo teraz pod IE nie działa strona... Twierdzi że nie może otworzyć tego miejsca i operacja zostaje przerwana...
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.