Ergebnis 1 bis 2 von 2
  1. #1
    schlegel.berlin ist offline Routinier
    registriert
    06-03-2005
    Beiträge
    288

    Bilder vorladen (Sript funzt nicht mit Firefox)

    Hallo ihr lieben Javascript-Spezialisten,

    wieder einmal benötige Hilfe. Ich habe ein Script, mit dem man Bilder vorladen kann und den Ladefortschritt mit einem grafisch leicht konfigurierbaren Ladebalken anzeigen kann.

    Das Script funktioniert auch richtig klasse, aber leider nicht mit Firefox. Da wird zwar letztlich auch auf die Zieldatei (Beispiel.html) verwiesen, aber weder werden die Bilder vorgeladen noch der Ladebalken angezeigt, wobei letzteres nicht sooo wichtig ist.


    Nun hoffe ich, dass einer von euch hilfreichen „Heinzelmännchen“ mir Ahnungslose helfen kann, nachdem ich alles mir zur Verfügung stehende Anfänger-Können biss zum Rand ausgeschöpft habe.

    Habt Erbarmen und schon mal ein liebes Dankeschön vorab, Karin



    Nachstehend das Script:

    <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Bilder vorladen mit Ladebalken</title>
    <script language="JavaScript" src="support/_ms.js">
    </script>
    <script language="JavaScript1.2">
    <!-- begin hiding

    var pics = new Array("bild-1.jpg","bild-2.gif","bild-3.jpg") // die Bilder die vorgeladen werden sollen

    var ziel = "beispiel.html";

    startingColor = new Array()
    endingColor = new Array()
    var fortschritt = "";anfangsfarbe = new Array();endfarbe = new Array();
    var balkenbreite = 400;var balkenhoehe = 25;var balkenbgnd = "#C1D8FF";
    anfangsfarbe[0] = "0";
    anfangsfarbe[1] = "0";
    anfangsfarbe[2] = "D";
    endfarbe[0] = "0";
    endfarbe[1] = "0";
    endfarbe[2] = "D";
    var luecke = 7;
    if (!document.all) location.replace(ziel)
    var a = 10, b = 11, c = 12, d = 13, e = 14, f=15, i, k, einer = new Array(), sechzehner = new Array(), schritt = new Array();
    var aendern = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"), picdauer = pics.length;
    var geladen = new Array(), vorpic = new Array(), aktuell = 0, zutun = 0, h = 0, vorheben = new Array(), huelle = new Array();
    var num = Math.floor(balkenbreite/luecke);
    for (i = 0; i < 3; i++) {
    anfangsfarbe[i] = anfangsfarbe[i].toLowerCase();endfarbe[i] = endfarbe[i].toLowerCase();anfangsfarbe[i] = eval(anfangsfarbe[i]);
    endfarbe[i] = eval(endfarbe[i]);schritt[i] = (endfarbe[i]-anfangsfarbe[i])/num;einer[i] = Math.floor(schritt[i]);
    sechzehner[i] = Math.round((schritt[i] - einer[i])*15);
    }
    endfarbe[0] = 0;endfarbe[1] = 0;endfarbe[2] = 0;
    i = 0, k = 0;
    while (i <= num) {
    vorheben[i] = "#";
    while (k < 3) {
    vorheben[i] += aendern[anfangsfarbe[k]];vorheben[i] += aendern[endfarbe[k]];
    anfangsfarbe[k] += einer[k];endfarbe[k] += sechzehner[k];
    if (endfarbe[k] > 15) {endfarbe[k] -= 15;anfangsfarbe[k]++;}k++;}k = 0;i++;
    }
    function picsladen() {
    for (i = 0; i < picdauer; i++) {
    vorpic[i] = new Image();vorpic[i].src = pics[i];geladen[i] = 0;huelle[i] = Math.floor(num/picdauer)*(i+1)
    }
    huelle[huelle.length-1] += num%picdauer
    ladenchck();
    }
    function ladenchck() {
    if (zutun) { nach(); return }
    if (aktuell == picdauer) { location.replace(ziel); return }
    for (i = 0; i < picdauer; i++) {
    if (!geladen[i] && vorpic[i].complete) {geladen[i] = 1; zutun++; aktuell++;ladenchck();return;
    }
    }
    setTimeout("ladenchck()",10);
    }
    function nach() {
    if (h+1 > huelle[aktuell-1]) {
    var prozent = Math.round(100/picdauer)*aktuell;
    if (prozent > 100) while (prozent != 100) prozent--;
    if (aktuell == picdauer && prozent < 100) prozent = 100;
    zutun--;
    ladenchck();
    return;
    }
    eval("document.all.cell" + (h+1) + ".style.backgroundColor = vorheben[h]");;
    h++;
    setTimeout("nach()",1);
    }
    // -->
    </script>
    </head>
    <body bgcolor="#FFFFFF">
    <center>
    <table border=0 cellspacing=0 cellpadding=0 style='height:100%;width:100%:'>
    <tr valign="middle">
    <td>
    <center>
    <script language="JavaScript1.2">
    <!-- beging hiding
    document.write('<table border="1" bordercolor="#0000C0" cellpadding="0" cellspacing="1" width="'+ balkenbreite +'"><tr height="' + balkenhoehe + '" bgcolor="' + balkenbgnd + '">');
    for (i = 0; i < num; i++)
    {
    document.write('<td width="' + luecke + '" id="cell' + (i+1) + '"></td>');
    }
    document.write('</tr></table>');
    picsladen();
    // end hiding -->
    </script>
    </center>
    </td>
    </tr>
    </table>
    </center>
    </body>
    </html>

  2. #2
    Avatar von Comet
    Comet ist offline Administrator
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.182

    AW: Bilder vorladen (Sript funzt nicht mit Firefox)

    Hi!

    in dieser Zeile:
    Code:
    if (!document.all) location.replace(ziel);
    wird sofort aufs Ziel gesprungen wenn der Browser das Object .all nicht kennt und dies kennt nur der Internet-Explorer und Opera wenn ich mich nicht irre.
    Verwende statt .all .getElementById() . Und schmeiss die oben genannte Zeile komplett raus.

    Folgende Zeile:
    Code:
    eval("document.all.cell" + (h+1) + ".style.backgroundColor = vorheben[h]");
    muß dann so aussehen:
    Code:
    document.getElementById( cell" + ( h+1 ) ).style.backgroundColor = vorheben[h];
    wobei du dir bei dieser Variante auch noch das eval() sparst
    ..:::Andi:::..

Ähnliche Themen

  1. Antworten: 20
    Letzter Beitrag: 19-03-2007, 10:04
  2. Script funzt im IE aber nicht im Firefox !?!
    Von DerLord im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 07-01-2007, 12:03
  3. JavaScript - Bilder einfaden funzt net in Firefox !
    Von tribunmaster im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 13-12-2004, 19:15
  4. bilder vorladen
    Von pacifica821 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 27-08-2004, 17:41
  5. Bilder NICHT vorladen ??
    Von Tom33 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 12-07-2004, 16:38

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •