Maren: "Diashow" für Netscape

Ach, das hat vorhin so schön geklappt mit dem Antworten. *g* Hab auch gleich noch 'ne Frage...
Ich habe für meine zahlreichen Fotos eine Webgalerie, für die ich mit viel Liebe, Mühe und Haareraufen irgendwie eine Diashow mit Java Script zurechtgefrickelt habe. Also die Bilder in einen Array packen und dann per Mausclick jeweils das nächste oder vorherige Bild aufrufen.
Das klappt zu meiner großen Freude auch ganz hervorragend, hat allerdings einen kleinen Schönheitsfehler: Unter Netscape funzt das alle snur halb. Die Bilder werden zwar brav und folgsam aufgerufen, aber da die nicht alle gleich große sind (gleich groß schon - aber manche im Hoch-, andere im Querformat!), werden viele völlig verzerrt dargestellt. (Ich bin nebenbei bemerkt sowieso bekennende Netscapehasserin.)
Ich habs schon mit Größenangaben für die Bilder versucht, aber das haute auch nicht hin. (Ich war mir allerdings auch nicht ganz sicher, an welche Stelle die Größenangaben müssen.)
Also, kann mir jemand helfen ? (Den Code hab ich leider grad net da, des liecht zu Hause auffe Festplatte, und ich bin gerade im Büro. Die Site ist unter http://envy.nu/eyelove zu sehen, aber der Server macht gerade schlapp. Das sind halt die Nachteile von 20 MB kostenlos... *g*)

  1. Ach, das hat vorhin so schön geklappt mit dem Antworten. *g* Hab auch gleich noch 'ne Frage...
    Ich habe für meine zahlreichen Fotos eine Webgalerie, für die ich mit viel Liebe, Mühe und Haareraufen irgendwie eine Diashow mit Java Script zurechtgefrickelt habe. Also die Bilder in einen Array packen und dann per Mausclick jeweils das nächste oder vorherige Bild aufrufen.
    Das klappt zu meiner großen Freude auch ganz hervorragend, hat allerdings einen kleinen Schönheitsfehler: Unter Netscape funzt das alle snur halb. Die Bilder werden zwar brav und folgsam aufgerufen, aber da die nicht alle gleich große sind (gleich groß schon - aber manche im Hoch-, andere im Querformat!), werden viele völlig verzerrt dargestellt. (Ich bin nebenbei bemerkt sowieso bekennende Netscapehasserin.)
    Ich habs schon mit Größenangaben für die Bilder versucht, aber das haute auch nicht hin. (Ich war mir allerdings auch nicht ganz sicher, an welche Stelle die Größenangaben müssen.)
    Also, kann mir jemand helfen ? (Den Code hab ich leider grad net da, des liecht zu Hause auffe Festplatte, und ich bin gerade im Büro. Die Site ist unter http://envy.nu/eyelove zu sehen, aber der Server macht gerade schlapp. Das sind halt die Nachteile von 20 MB kostenlos... *g*)

    Also, ich kann dir zwar grad net helfen, aber einen Tipp hab ich für dich ;o) www.piranho.de ;o) unbegrenzt Speicher, ziemlich gut erreichbar und, achtung, festhalten, jetzt kommt das beste *g*, keine Werbung!
    Klar, es gitb auch nachteile, und zwar zwei: es gibt keinen FTP-Upload, bzw mussm an sich den erst ersteigern ;o) und was für mich am schlimmsten ist, keine Datei darf über 100 KB groß sein, was ja nicht grad viel ist. aber maybe hilfts dir trotzdem weiter.
    Übrigens, hier is ein Netscapehasser ;o)

    1. Danke für den Tipp, diesen Piranho kannte ich noch gar nicht.
      Ich war mit envy bisher immer ganz zufrieden, aber ich werde mir jetzt wohl sowiedo bald eine eigene Domain kaufen. Jo mei, dann kostet es halt ein paar Mark. Dafür kann ich dann wenigstens auch Style Sheets und Java Scripts in externe Dateien auslagern und muss die nicht immer erst in jeden (!!) Dateikopf einzeln kopieren.
      Aber ich werd mir diesen Service trotzdem mal ansehen. Schaden kanns nix. ;-)

  2. Hallo Maren,

    das Problem kommt mir verdammt bekannt vor. Auch die Größenangaben (also Höhe und Breite) in einem Array ablegen und dann mit:
       document.images[0].width=width[i];
    angeben bringt leider im Netscape und Opera nix. Da hilft nur eins. Das Dokument dynamisch öffnen, die komplette HTML-Seite schreiben und das Dokument wieder schließen, also die nutzung von document.open(), document.writeln(" ...") und document.close();

    Leider hat das einen klitzekleinen Nachteil: bei nutzung von Hintergrundbildern in der Fotoseite kommt es zu Flackereffekten durch das nachladen das HG-Bildes. Ausserdem schlucken manche Firewall bei firmen diese Methoden.

    ACHTUNG Fehlerquellen:

    • BaseTarget-Einträge entfernen (Frontpage2000 macht die leider automatisch jedesmal rein).
    • Beim Kombinieren von document.write("....") und document.writeln("..")kann der html-Code im Netz durcheinandergewürfelt werden, ist zwar unerklärlich aber realität. Abhilfe: immer pro Zeile die document.writeln("....")-Methode verwenden.

    Beispiel:

    //copyright by E.Bär, Salzgitter
    var cc=1;
    var max=8; //Bildanzahl
    var ss=0;
    var time=5; //Defaultstandartseite

    function plusTime()
    {
     if(time<20) time++;
     status="Intervall auf "+time+" Sekunden gesetzt";
     window.defaultStatus=status;
    }

    function minusTime()
    {
     if(time>0) time--;
     status="Intervall auf "+time+" Sekunden gesetzt";
     window.defaultStatus=status;
    }

    function firstPic(){
       cc=1; ss=0;
       showPic();
    }

    function lastPic(){
       cc=max; ss=0;
       showPic();
    }

    function nextPic(){
       ss=0;
       if(cc<max){
     cc++;
     showPic();
       }
       else{
         status="Ende erreicht";
         window.defaultStatus=status;
       }
    }

    function prevPic(){
        ss=0;
        if(cc>1){
     cc--;
     showPic();
       }
       else{
         status="Anfang erreicht";
         window.defaultStatus=status;
       }
    }

    function slideShow(){
      ss=1;
      slide();
    }

    function slide(){
      if(cc<max+1 && ss==1){
          showPic();
          cc++;
          window.setTimeout("slide()", time*1000);
      }
      else{
       cc=1;
       showPic();
          ss=0;
          status="Slideshow beendet";
          window.defaultStatus=status;
      }
    }

    function showPic(){
     var bild = "<p align='center'><img border='0' name='foto' src=fotos/foto_"+cc+".jpg></p>";
     //alert(bild);
     parent.Oben.document.open();
     parent.Oben.document.writeln("<html>");
     parent.Oben.document.writeln("<head>");
     parent.Oben.document.writeln("<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>");
     parent.Oben.document.writeln("<meta name='GENERATOR' content='Microsoft FrontPage 4.0'>");
     parent.Oben.document.writeln("<meta name='ProgId' content='FrontPage.Editor.Document'>");
     parent.Oben.document.writeln("<link rel=stylesheet type='text/css' href='formate.css'>");
     parent.Oben.document.writeln("<title>Foto</title>");
     parent.Oben.document.writeln("</head>");
     parent.Oben.document.writeln("<body>");
     parent.Oben.document.writeln("<p> </p>");
     parent.Oben.document.writeln(bild);
     parent.Oben.document.writeln("</body>");
     parent.Oben.document.writeln("</html>");
     parent.Oben.document.close();
     status="Bild "+cc+" von "+max+" wird angezeigt";
     if(ss==1) status=status+" / Slidshow -> Intervall von "+time+" Sekunden";
     window.defaultStatus=status;
    }

    1. Hilfe, das sieht aber nach ganz verdammt viel Arbeit aus.
      Des schaff ich nie und nimmer ich kann nämlich nicht programmieren, nur HTML und gaanz leichte Java Scrpts. (Die mittelschweren kann ich anpassen, die schweren sind mir eh zu mathematisch).
      Ich hatte gedacht, dass das mit weniger Aufwand lösbar sein könnte. :-(

      1. keine Angst, du hast doch schon das Script vor dir liegen. ist von mir und du kannst es gern benutzten. am besten in eine javascript-datei *.js kopieren und anschließend folgendes anpassen:

        //copyright by E.Bär, Salzgitter
        var cc=1;
        var max=   <---  Bildanzahl;
        var ss=0;
        var time=5  <---- Standartsekunden

        anschließend nur deine Funktionsaufrufe einbauen.

        am besten so bei einem button :
        <a href="javascript:firstPic()"><img src="..."></a>

        siehe Muster auf : http://www.kadiba.de/muster_1/index.htm

        unter pictures OK! Nur Mut

        1. Sorry, ich habe noch etwas Vergessen:

          die eigentliche HTML-Seite, die ersetzt wird muss noch angepasst werden, die Bilder heissen hier foto_1.jpg, foto_2.jpg und stehen im Verzeichis "fotos":

          var bild = "<p align='center'><img border='0' name='foto' src=fotos/foto_"+cc+".jpg></p>";
                  parent.Oben.document.open();
           parent.Oben.document.writeln("<html>");
           parent.Oben.document.writeln("<head>");
           parent.Oben.document.writeln("<title>Foto</title>");
           parent.Oben.document.writeln("</head>");
           parent.Oben.document.writeln("<body>");
           parent.Oben.document.writeln("<p> </p>");
           parent.Oben.document.writeln(bild);
           parent.Oben.document.writeln("</body>");
           parent.Oben.document.writeln("</html>");
           parent.Oben.document.close();

          Das Frame für das Foto heißt "Oben" und sollte angepasst werden.
          Cu Rico