henning: Bildershow

Hallo,

ich habe folgendes Problem. Ich will eine Art Bildershow machen. Dies klappt auch wunderbar, hat jedoch ein Manko. Ich möchte gerne das ich auf ein Bild klicke und dieses sich in einem neuen Fenster vergrößert darstellt und ich per "weiter", "zurück" auch andere Bilder groß darstellen lassen kann. Das Problem ist folgenes: Ich habe es jetzt geschafft die Bilder groß und in einem neuen Fenster darzustellen, jedoch weiß ich nicht wie ich es schaffe, dass er das ausgewählte Bild auch als erstes zeigt. Im moment stellt er ja, wie aus dem Quellcode ersichtlich, immer das bild a00.jpg als erstes dar. Gibt es da irgendeine Möglichkeit das er das ausgewählte Bild als eine Art Startpunkt zu setzen?

Hier der Quellcode:
<script language="JavaScript">
<!-- Verstecken für ältere Browser --

var i = 1
 images = new Array
 images[00] = "a00.jpg"
 images[01] = "a01.jpg"
 images[02] = "a02.jpg"
 images[03] = "a03.jpg"
 images[04] = "a04.jpg"
 images[05] = "a05.jpg"
 images[06] = "a06.jpg"
 images[07] = "a07.jpg"
 images[08] = "a08.jpg"
 images[09] = "a09.jpg"
 images[10] = "a10.jpg"
 images[11] = "a11.jpg"
 images[12] = "a12.jpg"
 images[13] = "a13.jpg"
 images[14] = "a14.jpg"
 images[15] = "a15.jpg"

function gallery(){
 if (i == 00){
  document.gallery.previous.value="       ";}
}
function previmg(){
 if (i != 00) {
  i--;
  document.img.src = images[i];
  document.gallery.next.value = "Nächstes >";}
 if (i == 00) {
  document.gallery.previous.value="        ";}

}

function nextimg(){
 if (i != 15) {
  i++;
  document.gallery.previous.value="< Vorheriges"
  image = images[i];
  document.img.src = image;}
 if (i ==15){
  document.gallery.next.value="    ";}
}
function firstimg(){
 i = 00;
 document.img.src = images[i];
 document.gallery.previous.value="        ";
 document.gallery.next.value="Nächstes >";
}
function lastimg(){
 i = 15;
 document.img.src = images[i];
 document.gallery.next.value="    ";
 document.gallery.previous.value="< Vorheriges";
}
// -- Ende verstecken -->
</script>
</head>

<body bgcolor="d4d4d4">
<p align="center"><font size="3"> </font><img border="0" name="img" src="a00.jpg" > </p>

Grüße,

  1. Hi

    var i = 1
     images = new Array
     images[00] = "a00.jpg"

    Fangen arrays nicht mit 0 an? Und nicht mit 00?

    <!-- Verstecken für ältere Browser --

    ...

    // -- Ende verstecken -->

    Meinst du wirklich dass das so viel bringt?:))
    Darf man das überhaupt in einem Script schreiben?

    isdochegal

  2. hi,

    jedoch weiß ich nicht wie ich es schaffe, dass er das ausgewählte Bild auch als erstes zeigt.

    ich sehe gar nicht, an welcher stelle die die auswahl des startbildes ermöglichst?

    gruss,
    wahsaga

    1. @Wahsaga
      Ganz unten, jedoch nicht im Script selber. Es wird eben manuell gemacht, ich würde das aber gerne automatisieren, nur wie?

      <p align="center"><font size="3"> </font><img border="0" name="img" src="a00.jpg" > </p>

      @istdochegal

      ja ist doch egal. Ich glaube das ist nicht das Problem, oder?

      hi,

      jedoch weiß ich nicht wie ich es schaffe, dass er das ausgewählte Bild auch als erstes zeigt.

      ich sehe gar nicht, an welcher stelle die die auswahl des startbildes ermöglichst?

      gruss,
      wahsaga

      1. hi,

        Ganz unten, jedoch nicht im Script selber. Es wird eben manuell gemacht, ich würde das aber gerne automatisieren, nur wie?

        <p align="center"><font size="3"> </font><img border="0" name="img" src="a00.jpg" > </p>

        trotzdem verstehe ich noch nicht, was du hier unter "auswahl" verstehst.
        ich hatte gedacht, der benutzer klickt ein bild aus mehreren an, und mit diesem startet dann die diashow.
        aber das erkenne ich in deinem code nirgends.

        bitte beschreibe genauer, was du mit deiner formulierung meinst.

        gruss,
        wahsaga

        1. Hi,

          Du hast es auf den Punkt getroffen. Das problem ist jedoch das ich dieses eben nicht hinbekommen hab. So soll mein Code funktionieren nur die implementierung bereitet mir schwierigkeiten. Wie es jetzt im moment ist, geht es natürlich nicht...

          Gruß

          1. Hi,

            Dein Problem ist, daß Du der aufgerufenen Seite die "Startnummer" des ausgewählten Bildes mitteilen mußt; dieses geht z.B. über einen angehängten Parameter beim Aufruf, den Du dann ausliest. Mal ein Beispiel von mir: http://www.1ngo.de/foto/dionysos.html.

            freundliche Grüße
            Ingo

            1. Hey ja genauso sollte das ungefähr sein, jedoch seh ich die genaue Stelle nicht. Wo ist denn der entscheidene Punkt?

              Danke!

              Hi,

              Dein Problem ist, daß Du der aufgerufenen Seite die "Startnummer" des ausgewählten Bildes mitteilen mußt; dieses geht z.B. über einen angehängten Parameter beim Aufruf, den Du dann ausliest. Mal ein Beispiel von mir: http://www.1ngo.de/foto/dionysos.html.

              freundliche Grüße
              Ingo

              1. Hi,

                Hey ja genauso sollte das ungefähr sein, jedoch seh ich die genaue Stelle nicht. Wo ist denn der entscheidene Punkt?

                sollte doch eigentlich aus dem Quelltext ersichtlich sein..:

                <a href="http://www.hotel-dionysos.de/pictures/02.JPG" onclick="ZeigeBild(2); return false;">
                hier erfolgt der Aufruf des Bildes über einen normalen Link; sofern Javascript aktiviert ist, wird eine Funktion aufgerufen, der die Bildnummer übergeben wird.

                var Diashow = "diashow.html?2," + BildNr + ",640,480,24,"; self.location.href = Diashow;
                diese ruft die Seitenvorlage für die Großansicht auf und hängt u.a. die Bildnummer als Parameter an die URI.

                hier wird dann als erstes
                <body onload="init()">
                aufgrufen, wo die Parameter ausgelesen werden, u.a. auch die Bildnummer:

                var Param = self.location.search;
                var P1 = Param.indexOf(",",0); Startbild = parseInt(Param.slice(1,P1));
                var P2 = Param.indexOf(",",P1+1); BildNr = parseInt(Param.slice(P1+1,P2));
                wobei "Startbild" hier lediglich der Nummer des ersten anzuzeigenden Bildes entspricht; kannst Du also ignorieren, es sei denn, Du willst ggfls. auch nur einen Teil der Fotos anzeigen lassen.

                Die letzte Anweisung:
                document.getElementById("Foto").src = BildName(BildNr);
                tauscht das zunächst angezeigte Bild <img src="marmor.gif" id="Foto" ...> (hier habe ich einfach als Platzhalter das Hintergrundbild der Seite genommen) auf der Seite aus - fertig.

                freundliche Grüße
                Ingo

  3. Hi Henning,
    ich denke hier findest du, was du suchst:
    http://selfhtml.teamone.de/javascript/objekte/location.htm#search
    gruß
    ptr