Franky: Bildergallerie

Hallo,

ich habe hier dieses niedliche Script. Problem: Wenn man auf die Vorschaubilder klickt, wird das Ganze hinfällig, denn es wird beim klicken durch HREF das Hauptbild in einem neuen Dokument angezeigt. Ich weiß nicht wie ich es so ändern soll, das beim klicken der gleiche Effekt entsteht wie beim mouseover.

<script language="javascript">
function ShowPic(Img)
{Img = "images/" + Img; document.Stage.src = Img;}
</script>

<table>
<td><img src="images/job_1_1.jpg" name="Stage"></td>
</table>

<table>
  <td><a onMouseOver="ShowPic('job_1_1.jpg')" href="images/job_1_1.jpg"><img src="images/thumbs/job_1_1.jpg" border="0"></a></td>
  <td><a onMouseOver="ShowPic('job_1_2.jpg')" href="images/job_1_2.jpg"><img src="images/thumbs/job_1_2.jpg" border="0"></a></td>
  <td><a onMouseOver="ShowPic('job_1_3.jpg')" href="images/job_1_3.jpg"><img src="images/thumbs/job_1_3.jpg" border="0"></a></td>
</table>

Any ideas?

Danke schön,
Frank

  1. Hallo Frank,

    ersetze den Link im href durch ein "#" und danach verwende den Eventhandler "onclick" mit den gleichen Parametern wie beim onmouseover.

    Julia

    1. Hallo Julia,

      super, funktioniert prima. Leider verzerren jetzt die Bilder, da die Maße des ersten Bildes für alle anderen übernommen werden...

      Trotzdem danke!

      1. Hallo Franky

        super, funktioniert prima.

        Nein. Funktioniert nur, wenn Javascript aktiviert ist. Der Vorteil der alten Variante war, dass man auch ohne Javascript die Bilder ansehen konnte!!!

        Überlege dir mal was ideal wäre.
        Der "Nachteil" von reinem html ohne JS ist, dass eine Seite quasi neu geladen werden muss. Du könntest es aber vielleicht so machen, dass es einfach neu lädt, aber sonst gleich aussieht wie mit Javascript.

        Verwendest Du eigentlich auch php?

        Gruss
        Louis

        1. Hi Louis,

          ich überlege schon sehr lange und intensiv, mir wäre reines html am liebsten. Aber man muß eben immer kräftig laden, was in Bildergallerien schnell nervt. Ich verwende nur ein php-eMail Formular.

          Grüße,
          Frank

          1. Hallo Frank

            ich überlege schon sehr lange und intensiv, mir wäre reines html am liebsten. Aber man muß eben immer kräftig laden, was in Bildergallerien schnell nervt. Ich verwende nur ein php-eMail Formular.

            Also hast Du php. Ich denke, Du brauchst nicht auf Javascript zu verzichten, solange es sinnvoll eingesetzt ist, aber einfach eine alternative bereithalten. (JS dient letztlich dazu die Handhabung einfacher zu machen oder z.B. unnötige Ladefrequenzen zu vermeiden).

            Mein Vorschlag zu Deiner Galerie, ist wie gesagt, dass bei Klicken auf die Vorschau, die Seite neu geladen wird, aber danach die Seite so aussieht wie wenn man mit Javascript darüberfährt.
            Die Idee dabei ist, dass per Querystring (Text nach ? in der URL) das aktuelle Bild übergeben wird.

            <table>
            <td><img src="images/job_1_1.jpg" name="Stage"></td>
            </table>
            ---------------------^^^^^^^^^^^ ersetze durch <?= $bild ?>

            <table>
              <td><a onMouseOver="ShowPic('job_1_1.jpg')" href="images/job_1_1.jpg">
            ----------------------------------------------------^^^^^^^^^^^^^^^^^^ ersetze durch "dateiname.php?bild=job_1_1.jpg" (dieselbe Datei wird mit einem neuen Querystring aufgerufen.)

            Das sollte dann so hoffentlich funktionieren.

            Ach ja und noch Optimierung für den Fall, dass die Datei ohne Querystring aufgerufen wird, soll ein Standardbild oder gar nichts angezeigt werden, verwende dazu
            <? if(!isset($bild)) {$bild="job_1_1.jpg} ?> oder ähnlich ganz am Anfang der Datei.

            Liebe Grüsse
            Louis

    2. hi,

      ersetze den Link im href durch ein "#" und danach verwende den Eventhandler "onclick" mit den gleichen Parametern wie beim onmouseover.

      dass es nicht sonderlich nützlich ist, in so einem falle auf "#" zu verlinken, hatten wir doch in diesem thread eigentlich schon herausgefunden. also warum rätst du jetzt schon wieder dazu, anstatt die deutlich anwenderfreundlichere methode - per link und target ebenfalls auf das bild zu verlinken, als fall-back für user ohne javascript - zu erwähnen?

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."