Felix Hamann: Bildergalerie

Hallo Foris,

Ich bin nun seit mehreren Tagen mit einer eigenen Bildergalerie für die Page von Freunden und mir beschäftigt aber komme einfach nicht weiter, das ganze ist recht simpel aufgebaut:
Über ein Thumbnail wird die Datei oeffner.php? geöffnet - ach ich kopier euch einfach die quelltexte der beiden Dateien hier rein:

-----------------------------------------------------------------
galerie.php:

<html>
<head>
<script language="JavaScript">
function klein(bild) {
        newWin = window.open("oeffner.php?" + bild, "fenstername", "scrollbars=0,toolbar=0,location=0,directories=0,status=0,resizable=1,width=640,height=480");
}
</script>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><style type="text/css">
<!--
body {
 background-color: #000000;
}
-->
</style>
</head>

<body>
<a href="javascript:klein(DSC00780)"><img src="thumbs/DSC00780.jpg" border=0/></a>
<a href="javascript:klein(IM000324)"><img src="thumbs/IM000324.jpg" border=0/></a>
<a href="javascript:klein(matrix)"><img src="thumbs/matrix.jpg" border=0/></a>
</body>
</html>
-------------------------------------------------------------------

-------------------------------------------------------------------
oeffner.php:

<html>
<head>
<script>
var bild = location.search;
bild = bild.substr(1);
function weiter(){
bild++;
document.write('<a href="javascript:window.close()"><img src="bilder/' + bild + '.jpg" border=0></a>');
document.write('<a href="javascript:weiter()">Weiter</a>')
}
</script>
<style type="text/css">
<!--
.Stil1 {color: #CCCCCC}
-->
</style>
<body onLoad="self.focus()" leftmargin="0" topmargin="0" bgcolor="#000000">
<script>
document.write('<a href="javascript:window.close()"><img src="bilder/' + bild + '.jpg" border=0></a>');
</script>
<a href="javascript:weiter()">weiter</a>
</body>
</html>

--------------------------------------------------------------------

Problem: Nach dem ersten Klick auf Weiter öffnet sich zwar das nächste Bild, so wie ich es will - auch das weiter darunter erscheint, doch die Seite lädt ewig weiter, bei einem Klick auf weiter passiert nichts!

lg. Felix Hamann

  1. Hallo Felix,

    kann es sein das das dateiformat fehlt?

    <a href="javascript:klein(DSC00780)">

    Z.B. so:

    <a href="javascript:klein(DSC00780.jpg)">

    Nur mal auf die schnelle.... ;)

    Gruß Ron

    1. Danke für die Antwort, aber das Fileformat wird ja in der oeffner.php angegeben "/bilder' + bild + '.jpg" ;)

      nächster Vorschlag?

      lg. Felix

    2. hi,

      kann es sein das das dateiformat fehlt?

      <a href="javascript:klein(DSC00780)">

      Vor allem fehlt da erst mal die Kennzeichnung eines Textliterals als solches - DSC00780 wird ja wohl vermutlich kein Variablenname sein.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Danke für deine Antwort!

        Was ist ein Textliteral? :D

        Und das DSC00780 ist ja bloss ein Parameter für die Funktion klein(bild)

        lg. Felix

        1. hi,

          Was ist ein Textliteral? :D

          Andere Bezeichnung für String oder Zeichenkette.

          Und das DSC00780 ist ja bloss ein Parameter für die Funktion klein(bild)

          So, wie du es bisher notiert hast, stellt eine Referenz auf eine Variable bzw. ein Objekt dar - welches aber vermutlich nicht vorhanden ist.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. So, wie du es bisher notiert hast, stellt eine Referenz auf eine Variable bzw. ein Objekt dar - welches aber vermutlich nicht vorhanden ist.

            Sry, aber geht das auch in Nooby-Sprache? Ich bin doch recht neu im Gebiet Java und kann (zumindest) mit diesem Satz nichts anfangen :(

            lg. Felix

            1. hi,

              So, wie du es bisher notiert hast, stellt eine Referenz auf eine Variable bzw. ein Objekt dar - welches aber vermutlich nicht vorhanden ist.

              Sry, aber geht das auch in Nooby-Sprache?

              alert(blah); // gibt den Inhalt einer Variablen namens blah aus
              alert("blah"); // gibt den Text blah aus

              Für dein Problem in Folge dessen sicherlich auch relevant: http://de.selfhtml.org/javascript/sprache/notationen.htm#zeichenketten

              Ich bin doch recht neu im Gebiet Java und kann (zumindest) mit diesem Satz nichts anfangen :(

              Du bist überhaupt nicht im "Gebiet Java", sondern Javascript.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Ok - und was ändert das dann?

                Habe mal die variable bild ausgeben lassen nachdem ich auf weiter geklickt habe, gibt brav das aus was ich lesen will, aber was stimmt nicht?!
                Bin am verzweifeln!!

                lg. Felix

                1. Ein Test mit dem IE hat ergeben, dass der Quelltext der Page, nachdem ich auf weiter geklickt habe der folgende ist:

                  <a href="javascript:window.close()"><img src="bilder/3.jpg" border=0></a><a href="javascript:zurueck()">Zurück</a><a href="javascript:weiter()">Weiter</a>

                  Soll heissen: Die Page wurde komplett gelöscht und anschliessend nur das eingefügt was in der function weiter() angegeben ist:

                  document.write('<a href="javascript:window.close()"><img src="bilder/' + bild + '.jpg" border=0></a>');
                  document.write('<a href="javascript:zurueck()">Zurück</a>');
                  document.write('<a href="javascript:weiter()">Weiter</a>');

                  Gibt es eine Möglichkeit das so zu machen, dass nur der <body> Bereich der .php verändert wird und der Rest unverändert bleibt?

                  Danke schonmal

                  lg. Felix

                  1. hi,

                    Soll heissen: Die Page wurde komplett gelöscht und anschliessend nur das eingefügt was in der function weiter() angegeben ist:

                    document.write(...)

                    Natürlich - document.write, nach dem Laden des Dokumentes aufgerufen, ersetzt dieses.

                    gruß,
                    wahsaga

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                    1. Natürlich - document.write, nach dem Laden des Dokumentes aufgerufen, ersetzt dieses.

                      Nach dem Laden des Dokuments... aber wann ist es vollständig geladen? Die Statusleiste des Browsers sagt mir: Fertig!

                      lg. Felix

                      1. Habs selber rausgefunden, wens interessiert - hier meine *.phps :

                        galerie.php:

                        <html>
                        <head>
                        <script language="JavaScript">
                        function klein(bild) {
                                newWin = window.open("oeffner.php?" + bild, "fenstername", "scrollbars=0,toolbar=0,location=0,directories=0,status=0,resizable=0,width=640,height=520,top=100,left=100");
                        }
                        </script>
                        <title>Unbenanntes Dokument</title>
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><style type="text/css">
                        <!--
                        body {
                         background-color: #000000;
                        }
                        -->
                        </style></head>

                        <body>
                        <a href="javascript:klein(1)"><img src="thumbs/DSC00780.jpg" border=0/></a>
                        <a href="javascript:klein(2)"><img src="thumbs/IM000324.jpg" border=0/></a>
                        <a href="javascript:klein(3)"><img src="thumbs/matrix.jpg" border=0/></a>
                        </body>
                        </html>

                        -------------------------------------------------------------

                        oeffner.php:

                        <html>
                        <head><style type="text/css">
                        <!--
                        .Stil1 {color: #CCCCCC}
                        -->
                        </style>
                        <script type="text/javascript">
                        var bild = location.search
                        var bild = bild.substr(1,1)
                        bild = 1*bild
                        var nmr = new Array()
                        nmr[0] = "1.jpg"
                        nmr[1] = "2.jpg"
                        nmr[2] = "3.jpg"
                        var aktuell = bild-1
                        function weiter(){
                        if (aktuell<nmr.length-1){
                        aktuell++
                        document.images.photo.src = "bilder/" + nmr[aktuell]
                        }
                        }
                        function zurueck(){
                        if (aktuell>0){
                        aktuell--
                        document.images.photo.src = "bilder/" + nmr[aktuell]
                        }
                        }
                        </script>
                        </head>
                        <body onLoad="self.focus()" leftmargin="0" topmargin="0" bgcolor="#000000">
                        <script>
                        document.write('<a href="javascript:window.close()"><img src="bilder/' + bild + '.jpg" name="photo" border=0></a>')
                        </script>
                        <br>
                        <a href="#" onClick="zurueck();return false">Zurück</a>
                        <a href="#" onClick="weiter();return false">weiter</a>
                        </body>
                        </html>

                        -----------------------------------------------------------

                        lg. und vielen Dank für die Hilfe, Felix!

            2. Er meint, Du sollst Anführungszeichen drum machen ;-)

              -- snorri

              1. Er meint, Du sollst Anführungszeichen drum machen ;-)

                -- snorri

                Danke - jetzt verstehe ich das endlich auch!

                lg. Felix