Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prosty problem ;)
Forum PHP.pl > Forum > Przedszkole
-adam2506-
Witam,

strona jest (tymczasowo) pod adresem http://musicals.freehost.pl/

Pytanie 1. : w kodzie źródłowym widać, że zastosowany jest prosty skrypt "czekaj, strona jest wczytywana". Moje pytanie brzmi - co zrobić, aby do momentu wczytania wszystkich obrazków itp w 100%, była widoczna tylko tapeta (jest dość fajna więc pokazanie całej to zawsze jakiś plus) i dopiero wówczas pokazywała się 'strona właściwa'? Skrypt nie wymaga żadnej strony przejściowej a wygląda on tak:

HEAD:

Kod

<script LANGUAGE="JavaScript">

<!-- Begin
function loadImages() {
if (document.getElementById) {  // DOM3 = IE5, NS6
document.getElementById('hidepage').style.visibility = 'hidden';
}
else {
if (document.layers) {  // Netscape 4
document.hidepage.visibility = 'hidden';
}
else {  // IE 4
document.all.hidepage.style.visibility = 'hidden';
      }
   }
}
//  End -->
</script>


BODY:
Kod
<body onload="loadImages()">

<div id="hidepage" style="position: absolute; left:5px; top:5px; background: url(images2/tlo_desen.jpg);
                          layer-background: url(szablon/tlo2.jpg); height: 100%; width: 100%;">

  <table width=100%>
    <tr><td>
     <font color="#F52F27"> Czekaj, strona jest wczytywana.. </font> </td></tr>
  </table>

</div>


I jak ktoś chce to zapisek w CSS :

Kod
.hidepage
        {
        background: url(images2/tlo_desen.jpg);
        margin:0px;
        padding:0px;
        }





Pytanie 2. : Skrypt w php związany z menu napisałem na instrukcji switch (inaczej mi nie szło). Łatwo można zauważyć, że aktualnie przy przechodzeniu między (przykładowymi) stronami za każdym razem tło jest ponownie ładowane. Pytanie - co można zrobić, żeby tego uniknąć? Kod jest taki:

Kod
<?php
switch ($_GET['str'])
{
case "g0":
include ("dane/witaj.html");
break;
case "g1":
include ("dane/glowne/kontakt.html");
break;

default:
include ("dane/witaj.html");
}
?>


Czekam na propozycje i pozdrawiam czytających winksmiley.jpg
chlebik
Cos tu dziwne - ten DIV ma nadany ID, a ty w CSSie pokazujesz klase? Ten <font color=..> rozjechalo mnie kompletnie juz w ogole. Dziwi tez uzycie przy onLoad funkcji, ktora UKRYWA DIVa - chodzi przeciez chyba o jego pokazanie? Dla mnie ten kod troche nieogarniety, a nie wiem jak to wyglada w praktyce bo link mi nie dziala.



Edit: Link zadzialal. Balaganu w kodzie nie bede raz jeszcze komentowal. Brak definicji DTD, mieszanie CSSa z tabelkami, zgroza. Zas by troche na poczatek - nadaj BACKGROUND na BODY lub jakis DIV w formie nadrzednego kontenera. Reszte zawartosci strony wrzuc w innego DIVa w tym DIVie nadrzednym, ale nadaj mu niewidocznosc, po czym na onLoad wrzuc skrypt by z powrotem przywrocil widzialnosc.

By zas nie przeladowywalo Ci calej strony po nacisnieciu elementu menu wrzuc po prostu tam funkcje JavaScriptu by zaladowala do konkretnego DIVa w srodku czysty tekst (Inner/Outer Text lub TextContent) albo kod HTML (innerHTML) i po problemie. Mozna do tego tez uzyc AJAXa, choc to troche na wyrost (chyba, ze zawartosc bedzie generowana dynamicznie).



Mam nadzieje, ze choc troche pomoglem
Chlebik
adam2506
Chlebik,

masz rację - pisane jest to dość chaotycznie i nie jest jeszcze w pełni uporządkowane, ale o czym piszesz z DTD ? Jaką definicję pominąłem?

Aczkolwiek jeśli chodzi o CSS - możesz mi przy okazji powiedzieć jaka jest różnica między "div id=xxx" a "div class=xxx" ? Oraz kiedy się pisze w pliku css "DIV#costam{", "#costam{ " a kiedy ".costam{" ? A na moim przykładzie - jak powinna wyglądać struktura div-ów ? Bo jakoś mi to wypadło z głowy a wygląda to tak jak wygląda, bo zrobione jest metodą prób i błędów, żeby tylko się trzymało, dlatego raz jest id a raz class - inaczej z jakiegoś powodu nie działało.

I co w takim razie proponujesz wnieść do skryptu z hidepage?

A co do propozycji na rozwiązanie tych problemów - jutro pokombinuję i odpiszę jak poszło, tymczasem pozdrawiam i czekam na odp. co do powyższego.

P.S. Inne propozycje też mile widziane !
chlebik
Coz ja moge Ci powiedziec - nie ma sensu latac dziur ot tak - trzeba zerwac nawierzchnie i zaczac od nowa. Proponuje dwa linki:

Kurs BrowseHappy
Kurs HTMLa


I juz bedzie o wiele lepiej. Tak na szybko zas bys mial jakies pojecie:

1. DTD to inaczej definicja dokumentu - nie jest to poprawne nazewnictwo tak do konca - wiecej poczytaj tutaj.

2. ID jest UNIKALNYM IDENTYFIKATOREM danego elementu na stronie. Nie moga wystapic dwa elementy o takiej samej nazwie. Zas CLASS jest wlasnie klasa - czyli zbiorem pewnych cech, ktore moze posiadac wiele elementow. Dla przykladu w klasie mozesz zapisac, ze dany element ma zielone tlo i duza czcionke - i te klase mozesz przypisac i do DIVa, i do akapitu P i do listy UL. Element moze posiadac parametry/wlasnosci z kilku klas.

3. Polozenia DIVow nie podam - jak chcesz to poszukaj w googlach hasla 'strona oparta na DIVach'.

4. Skrypt to moze wygladac tak:


Kod
<script LANGUAGE="JavaScript">
function pokazZawartosc()
{
document.getElementById('zawartosc').style.visibility = 'visible';
}
</script>



Gdzie 'zawartosc' to ID DIVa, w ktorym bedziesz mial zawartosc swojej strony. W samym kodzie HTML na poczatek daj mu wartosc 'invisible' czyli:

Kod
<div id="zawartosc" style="visibility: hidden;">





Pozdrawiam
Chlebik
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.