DominikJ
23.08.2006, 18:57:04
Hi,
ich habe ein Problem beim richtigen verlinken von einem Javascript Popup, bzw ein JS fehler...
Ich weiß schon das ich hier nicht so sehr richtig bin, aber die Community hier kommt mir sehr hilfreich vor.
Also:
funktionen:
//Tabelle erzeugen
function gal_makeTable($dir) {
echo '<table>';
$inRow = "3";
$d = dir($dir);
while ($eintrag = $d->read()) {
if ($eintrag != "." && $eintrag != "..") {
$inhalt[] = $eintrag;
if (sizeof($inhalt) == $inRow) {
gal_makeRow($dir,$inhalt);
unset($inhalt);
}
}
}
if (sizeof($inhalt) > "0") {
gal_makeRow($dir,$inhalt);
}
echo '</table>';
}
//Neue Zeile erstellen
function gal_makeRow($dir,$inhalt) {
echo '<tr>';
foreach ($inhalt as $eintrag) {
$all = $dir.$eintrag;
$title = 'Ich bin ein Titel!!!';
if (is_dir($all)) {
echo '<td><img src="'.$dir.'/gal/ordner.gif"></td>';
}
else
{
$size = getimagesize($all);
echo '
<td><a href="javascript:ViewImage('.$all.','.$size[0].','.$size[1].',\''.$title.'\');" onClick="ViewImage('.$all.','.$size[0].','.$size[1].',\''.$title.'\');">
<img src="thumb.php?image='.$all.'&x=300" alt="'.$entry.'" onClick="javascript:ViewImage('.$all.','.$size[0].','.$size[1].',\''.$title.'\');" />
</a></td>
';
}
}
echo '</tr>';
}
JS
//Popup Funktion
function ViewImage(bildurl,b,h,bildtitel)
{
var eigenschaften,sbreite,shoehe,fenster,b,h;
// stellt die Bildschirmabmessungen fest
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);
if(ns6||ns4) {
sbreite = innerWidth;
shoehe = innerHeight;
}
else if(ie4) {
sbreite = document.body.clientWidth;
shoehe = document.body.clientHeight;
}
x = (sbreite-b)/2;
y = (shoehe-h)/2;
eigenschaften="left="+x+",top="+y+",screenX="+x+",screenY="+y+",width="+b+",height="+h+"";
fenster=window.open("","",eigenschaften);
fenster.focus();
fenster.document.open();
with (fenster) {
document.write('<html><head>');
document.write('<scr' + 'ipt type="text/javascr' + 'ipt" language="JavaScr' + 'ipt">');
document.write("function click() { window.close(); } "); // bei click schliessen
document.write("document.onmousedown=click ");
document.write('</scr' + 'ipt>');
document.write('<title>'+ bildtitel +'</title></head>');
document.write('<' + 'body onblur="window.close();" ');// bei Focusverlust schliessen
document.write('marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">');
document.write('<center>');
document.write('<img src="'+ bildurl +'"border="0">');
document.write('</center>');
document.write('</body></html>');
fenster.document.close();
}
}
Irgendwie geht das PopUp nicht auf, muss irgendwie an der Verlinkung des Bildes im makeRow liegen. Ich habe da einfach überall das reingeschrieben, um zui testen obs geht, ging nicht!
Die Bilder werden schon richtig angezeigt, nur PopUp funktioniert leider nicht.
Kann mir da wer behilflich sein?
ich habe ein Problem beim richtigen verlinken von einem Javascript Popup, bzw ein JS fehler...
Ich weiß schon das ich hier nicht so sehr richtig bin, aber die Community hier kommt mir sehr hilfreich vor.
Also:
funktionen:
//Tabelle erzeugen
function gal_makeTable($dir) {
echo '<table>';
$inRow = "3";
$d = dir($dir);
while ($eintrag = $d->read()) {
if ($eintrag != "." && $eintrag != "..") {
$inhalt[] = $eintrag;
if (sizeof($inhalt) == $inRow) {
gal_makeRow($dir,$inhalt);
unset($inhalt);
}
}
}
if (sizeof($inhalt) > "0") {
gal_makeRow($dir,$inhalt);
}
echo '</table>';
}
//Neue Zeile erstellen
function gal_makeRow($dir,$inhalt) {
echo '<tr>';
foreach ($inhalt as $eintrag) {
$all = $dir.$eintrag;
$title = 'Ich bin ein Titel!!!';
if (is_dir($all)) {
echo '<td><img src="'.$dir.'/gal/ordner.gif"></td>';
}
else
{
$size = getimagesize($all);
echo '
<td><a href="javascript:ViewImage('.$all.','.$size[0].','.$size[1].',\''.$title.'\');" onClick="ViewImage('.$all.','.$size[0].','.$size[1].',\''.$title.'\');">
<img src="thumb.php?image='.$all.'&x=300" alt="'.$entry.'" onClick="javascript:ViewImage('.$all.','.$size[0].','.$size[1].',\''.$title.'\');" />
</a></td>
';
}
}
echo '</tr>';
}
JS
//Popup Funktion
function ViewImage(bildurl,b,h,bildtitel)
{
var eigenschaften,sbreite,shoehe,fenster,b,h;
// stellt die Bildschirmabmessungen fest
var ns6 = (!document.all && document.getElementById);
var ie4 = (document.all);
var ns4 = (document.layers);
if(ns6||ns4) {
sbreite = innerWidth;
shoehe = innerHeight;
}
else if(ie4) {
sbreite = document.body.clientWidth;
shoehe = document.body.clientHeight;
}
x = (sbreite-b)/2;
y = (shoehe-h)/2;
eigenschaften="left="+x+",top="+y+",screenX="+x+",screenY="+y+",width="+b+",height="+h+"";
fenster=window.open("","",eigenschaften);
fenster.focus();
fenster.document.open();
with (fenster) {
document.write('<html><head>');
document.write('<scr' + 'ipt type="text/javascr' + 'ipt" language="JavaScr' + 'ipt">');
document.write("function click() { window.close(); } "); // bei click schliessen
document.write("document.onmousedown=click ");
document.write('</scr' + 'ipt>');
document.write('<title>'+ bildtitel +'</title></head>');
document.write('<' + 'body onblur="window.close();" ');// bei Focusverlust schliessen
document.write('marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">');
document.write('<center>');
document.write('<img src="'+ bildurl +'"border="0">');
document.write('</center>');
document.write('</body></html>');
fenster.document.close();
}
}
Irgendwie geht das PopUp nicht auf, muss irgendwie an der Verlinkung des Bildes im makeRow liegen. Ich habe da einfach überall das reingeschrieben, um zui testen obs geht, ging nicht!
Die Bilder werden schon richtig angezeigt, nur PopUp funktioniert leider nicht.
Kann mir da wer behilflich sein?