Problem mit Galerie

M

Merbi

Endschuldigung, dass ich nochmal stören muss.
Habe mit php angefangen und eine kleine Galerie ausprobiert.
Nun liegt das Problem aber eher am Javascript.

Code von galerie.php
Code:
<?php
$thumbs = "./templates/images/gallery/thumbs/bigfm";
$images = "./templates/images/gallery/images/bigfm";
$handle = opendir($thumbs);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(is_dir($thumbs."/".$file)) {
echo "/".$file."<br/>";
} else {
$compl = $thumbs."/".$file;
$compl2 = $images."/".$file;
echo "<a href=\"#\" onclick=\"return changeImage('".$compl2."');\"><img src=\"".$compl."\"></a>";
}
}
}
closedir($handle);
?>

<div id="bigImage">

</div>

Javascript

Code:
        var strImgPath = "";

        function changeImage(strImg) {
          document.getElementById("bigImage").firstChild.setAttribute(
            "src",
            (strImgPath + strImg)
          );
          return false;
        }

Der sollte nun eigentlich bei Klick auf das Thumbnail im div mit der id bigImage das Bild anzeigen und bei Klick auf ein anderes Bild dieses dann Wechseln.

LG Daniel

P.S. Ohne PHP hat das bisher reibungslos geklappt. Vlt. also doch ein PHP Problem, weiß nicht wo ich den Thread erstellen sollte.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

sieht aus, als würde im DIV mit der ID bigImage ein Bildelement fehlen. Im JavaScript greifst du zumindest mit firstChild auf ein Element zu, dass auf ein img-Objekt schliessen lässt.
Code:
<div id="bigImage"><img src="transparent.gif" border="0" alt=""></div>
Ciao
Quaese
 
Danke für die schnelle Antwort.
Probiere es sofort wenn ich heute mittag nach Hause komme.

LG Daniel
 
Hi,

dann schau doch mal, was die Fehlerkonsole ausgibt:

Fehler: document.getElementById("bigImage").firstChild.setAttribute is not a function
Quelldatei: http://danielswebsite.da.funpic.de/templates/page.js
Zeile: 95
und weiter:

Warnung: Ende des Wertes für die Eigenschaft erwartet, aber 'overflow' gefunden. Fehler beim Verarbeiten des Wertes für Eigenschaft 'clear'. Deklaration ignoriert.
Quelldatei: http://danielswebsite.da.funpic.de/templates/stylesheet.css
Zeile: 111
 
Habe ich schon gesehen aber was ich ändern muss weiß ich nicht.

Habe da ja im js function stehen:

Code:
        var strImgPath = "";

        function changeImage(strImg) {
          document.getElementById("bigImage").firstChild.setAttribute(
            "src",
            (strImgPath + strImg)
          );
          return false;
        }

Oder muss das function weg?

LG Daniel

Edit: Der Fehler im CSS ist entfernt.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

einige Browser ermitteln mit der Methode firstChild das direkt nachfolgende Element - in deinem Fall also den Zeilenumbruch als Textknoten. Abhilfe schaffst du, indem du das Bildobjekt direkt anschliessen lässt.
Code:
<div id="bigImage"><img src="templates/images/space.png" border="0" alt=""></div>
Als nächstes ist dein Pfad zu den Bilddateien falsch gesetzt, sodass keine Bilder gefunden werden.
Code:
var strImgPath = "";  // Korrekt
Ciao
Quaese
 

Neue Beiträge

Zurück