nordi
Erfahrenes Mitglied
Hi Leute,
ich mach gerade ein Redesign meine Homepage und habe diesesmal ein bisschen mit Flash rumgespielt. Die Flashanimationen wollte ich vorher mit einem Preloader vorladen lassen. Den Preloader habe ich gefunden und er ist mit Javascript gecodet. Ich habe probiert, die Flashanimationen vorzuladen, doch da bricht er immer ab. Kann man überhaupt Flashanimationen mit JS vorladen und wenn ja, wie ?
Hier ist der Quellcode vom Preloader, mit dem ich das versucht habe.
Schon vielen Dank im vorraus
greets aus köln
marius
ich mach gerade ein Redesign meine Homepage und habe diesesmal ein bisschen mit Flash rumgespielt. Die Flashanimationen wollte ich vorher mit einem Preloader vorladen lassen. Den Preloader habe ich gefunden und er ist mit Javascript gecodet. Ich habe probiert, die Flashanimationen vorzuladen, doch da bricht er immer ab. Kann man überhaupt Flashanimationen mit JS vorladen und wenn ja, wie ?
Hier ist der Quellcode vom Preloader, mit dem ich das versucht habe.
PHP:
// kommt in den Headbereich
<script language="JavaScript1.2">
startingColor = new Array() // <-- Do not modify!
endingColor = new Array() // <-- Do not modify!
// YOU MAY MODIFY THE FOLLOWING:
var yourImages = new Array
("index/images/Capture.gif", "index/images/inordiv3.gif", "index/images/pfeil.gif", "index/images/banner.gif") // Fill this array with the images you wish to preload
var locationAfterPreload = "index/main.php?show=news" // The script will redirect here when the preloading finishes *successfully*
var preloadbarWidth = 280 // The length of the preload bar. Should be greater than total amount of images you want to preload!
var preloadbarHeight = 7 // The height of the gradient/preload bar
var backgroundOfGradient = "#FFFFFF" // Default color while the preload bar is "filling up"
// Color the preloadbar is starting with - enter 1st, 3rd and 5th numbers/letters of color code: 4FD
startingColor[0] = "9"
startingColor[1] = "A"
startingColor[2] = "9"
// Color the preloadbar is going to end up with - enter the 1st, 3rd and 5th numbers/letters of color code
endingColor[0] = "9"
endingColor[1] = "A"
endingColor[2] = "9"
// FOR TROUBLESHOOTING:
var gap = 3 // PLAY AROUND WITH THIS SETTING IF YOU GET A JAVASCRIPT ERROR!!! 2 is the minumum value!!!
// DO NOT MODIFY ANYTHING BEYOND THIS POINT!!!
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>
//der rest kommt jetzt in den body bereich
<script language="JavaScript1.2">
<!-- beging hiding
document.write('<table border="1" bordercolor="#404F5D" cellpadding="0" cellspacing="0" width="' + preloadbarWidth + '"><tr height="' + preloadbarHeight + '" bgcolor="' + backgroundOfGradient + '">');
for (i = 0; i < num; i++) {
document.write('<td bordercolorlight="#404F5D" bordercolordark="75A0BD" width="' + gap + '" id="cell' + (i+1) + '"></td>');
}
document.write('</tr></table>');
loadImages();
// end hiding -->
</script>
Schon vielen Dank im vorraus
greets aus köln
marius