1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Bilder vorladen + Statusbar

Discussion in 'Programmieren' started by chregi, Oct 8, 2004.

Thread Status:
Not open for further replies.
  1. chregi

    chregi ROM

    hallo! ich suche ein script mit dem ich bilder vorladen kann (inetwa wie das:

    Code:
    <script language="JavaScript1.2">
    <!-- begin hiding
    
    startingColor = new Array() // <-- Do not modify!
    endingColor = new Array() // <-- Do not modify!
    
    // YOU MAY MODIFY THE FOLLOWING:
    var yourImages = new Array("gfx/banner_468_1.gif", "gfx/banner_468_2.gif") // Fill this array with the images you wish to preload
    var locationAfterPreload = "popup.php" // The script will redirect here when the preloading finishes *successfully*
    var preloadbarWidth = 250 // The length of the preload bar. Should be greater than total amount of images you want to preload!
    var preloadbarHeight = 10 // The height of the gradient/preload bar
    var backgroundOfGradient = "#000000" // 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
    startingColor[0] = "f" 
    startingColor[1] = "f"
    startingColor[2] = "0"
    
    // Color the preloadbar is going to end up with - enter the 1st, 3rd and 5th numbers/letters of color code
    endingColor[0] = "c"
    endingColor[1] = "0"
    endingColor[2] = "0"
    
    // FOR TROUBLESHOOTING:
    var gap = 7 // 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>
    </head>
    <center>
    <font face="Verdana, Arial, Helvetica" size="2" color="#FFFFFF"><center>Preloading Images ..</center><br>
    <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></font>')
    loadImages();
    // end hiding -->
    </script>
    </center>
    
    aber das funktioniert nicht bei vielen bildern..) also hoffe ich dass mir jemand von euch eine alternative hat. thx
     
  2. kalweit

    kalweit Hüter der Glaskugel

  3. theScreen

    theScreen Byte

  4. Geertakw

    Geertakw Kbyte

Thread Status:
Not open for further replies.

Share This Page