SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - tabele, swish i preload

boski-kafel - Czw 09 Cze, 2005 15:02
Temat postu: tabele, swish i preload
Otóż mam stronę składająca się z 3 tabel. I w związku z tym mam kilka pytań:

Chciałbym połączyc html/php ze swishem, ale jednoczesnie chciałbym uniknąć stopniowego wczytywania sie strony. Czy istnieje mozliwosc stworzenia preloadera, który "zaczekał by" aż wczyta się cała strona, biorąc pod uwagę, że nie będzie to wyłącznie swish?

lechu - Czw 09 Cze, 2005 15:58

czy cala strona to niewiem ale stopniowo w java script napewno da rade najpierw uklad strony grafika ,teksty etc.
a nastepnie swf.

mam taki scrypt wstawie go jutro na forum.

pozdr........

MBabelek - Czw 09 Cze, 2005 16:28

Z moich obliczen wynika ze zawsze sie pierwsze zaladuje html / php niz swish chyba ze swf bedzie bardzo malutki i na szybkim łaczu serwera.
boski-kafel - Czw 09 Cze, 2005 18:00

lechu napisał/a:
czy cala strona to niewiem ale stopniowo w java script napewno da rade najpierw uklad strony grafika ,teksty etc.
a nastepnie swf.

mam taki scrypt wstawie go jutro na forum.

pozdr........


Super! Dzięki i czekam na skrypt :) Chociaż gdyby ktoś znał sposób na preloader dla wczytywania całej strony to byłbym hepi. Tzn preload gdzie podczas oczekiwania na wczytanie strony ładował by sie i html/php i swf, tak by po zakonczeniu preloadu strona była widoczna już w jednym kawałku.

Pozdrawiam

lechu - Pią 10 Cze, 2005 07:32

oto i obiecany scrypt
Kod:
<html>
<head>
<script language="JavaScript1.2">
<!-- begin hiding
startingColor = new Array()
endingColor = new Array()

// YOU MAY MODIFY THE FOLLOWING:
var yourImages = new Array("http://www.twojastrona.pl/images/v4_01.jpg",http://www.twojastrona.pl/images/v4_02.jpg"
)
                                // Fill this array with the images you wish to preload zamien na linki do twoich obrazkow na stronie
var locationAfterPreload = "http://www.twojastrona.pl/home.html" // tu wpisz adres twojej strony
var preloadbarWidth = 250 // szerokosc preloadera. Should be greater than total amount of images you want to preload!
var preloadbarHeight = 5 // wysokosc of the gradient/preload bar
var backgroundOfGradient = "#000000" // tlo preloadera

// Color the preloadbar is starting with - enter 1st, 3rd and 5th numbers/letters of color code kolory paska
startingColor[0] = "f"
startingColor[1] = "c"
startingColor[2] = "0"

// Color the preloadbar is going to end up with - enter the 1st, 3rd and 5th numbers/letters of color code kolory paska
endingColor[0] = "f"
endingColor[1] = "6"
endingColor[2] = "0"

// FOR TROUBLESHOOTING:
var gap = 5 // PLAY AROUND WITH THIS SETTING IF YOU GET A JAVASCRIPT ERROR!!! 2 is the minumum value!!! jak bedzie blad to powtorz np.5razy

// DO NOT MODIFY ANYTHING BEYOND THIS POINT!!! w dol az do body nic nie zmieniaj

if (!document.all) location.replace(locationAfterPreload)
var a = 10, b = 11, c = 12, d = 13, e = 14, f=15, i, j, ones = new Array(), sixteens = new Array(), diff = new Array();
var convert = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"), imgLen = yourImages.length;
var loaded = new Array(), preImages = new Array(), currCount = 0, pending = 0, h = 0, hilite = new Array(), cover = new Array();
var num = Math.floor(preloadbarWidth/gap);
for (i = 0; i < 3; i++) {
    startingColor[i] = startingColor[i].toLowerCase();
    endingColor[i] = endingColor[i].toLowerCase();
    startingColor[i] = eval(startingColor[i]);
    endingColor[i] = eval(endingColor[i]);
    diff[i] = (endingColor[i]-startingColor[i])/num;
    ones[i] = Math.floor(diff[i]);
    sixteens[i] = Math.round((diff[i] - ones[i])*15);
}
endingColor[0] = 0;
endingColor[1] = 0;
endingColor[2] = 0;
i = 0, j = 0;
while (i <= num) {
    hilite[i] = "#";
    while (j < 3) {
        hilite[i] += convert[startingColor[j]];
        hilite[i] += convert[endingColor[j]];
        startingColor[j] += ones[j];
        endingColor[j] += sixteens[j];
        if (endingColor[j] > 15) {
            endingColor[j] -= 15;
            startingColor[j]++;
        }
        j++;
    }
    j = 0;
    i++;
}
function loadImages() {
    for (i = 0; i < imgLen; i++) {
        preImages[i] = new Image();
        preImages[i].src = yourImages[i];
        loaded[i] = 0;
        cover[i] = Math.floor(num/imgLen)*(i+1)
    }
    cover[cover.length-1] += num%imgLen
    checkLoad();
}
function checkLoad() {
    if (pending) { changeto(); return }
    if (currCount == imgLen) { location.replace(locationAfterPreload); return }
    for (i = 0; i < imgLen; i++) {
        if (!loaded[i] && preImages[i].complete) {
            loaded[i] = 1; pending++; currCount++;
            checkLoad();
            return;
        }
    }
    setTimeout("checkLoad()",10);
}
function changeto() {
    if (h+1 > cover[currCount-1]) {
        var percent = Math.round(100/imgLen)*currCount;
        if (percent > 100) while (percent != 100) percent--;
        if (currCount == imgLen && percent < 100) percent = 100;
        defaultStatus = "Loaded " + currCount + " out of " + imgLen + " images [" + percent + "%].";
        pending--;
        checkLoad();
        return;
    }
    eval("document.all.cell" + (h+1) + ".style.backgroundColor = hilite[h]");;
    h++;
    setTimeout("changeto()",1);
}
defaultStatus = "Loaded 0 out of " + imgLen + " images [0%]."
// end hiding -->
</script>
<title>
Preloading... you'd be forwarded shortly
</title>
</head>
<body bgcolor="#454E55" link="#6E7C87" vlink="#6E7C87" alink="#6E7C87">
&nbsp;
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
<center>
<b><font color="#FFCC00" face="Verdana, Arial, Helvetica" size="1">Preloading Images... Please Wait..
<br>
</font></b>
<font face="Verdana, Arial, Helvetica" size="2">
<script language="JavaScript1.2">
<!-- beging hiding
document.write('<table border="0" cellpadding="0" cellspacing="0" width="' + preloadbarWidth + '"><tr height="' + preloadbarHeight + '" bgcolor="' + backgroundOfGradient + '">');
for (i = 0; i < num; i++) {
    document.write('<td width="' + gap + '" id="cell' + (i+1) + '"></td>');
}
document.write('</tr></table>');
document.write('<p><small><a href="javascript:location.replace(locationAfterPreload)">Skip Preloading</a> </small></p>')
loadImages();
// end hiding -->
</script>
</center>
</p>
</body>
</html>


pozdr........


Powered by phpBB modified by Przemo © 2003 phpBB Group