Hallo,
Ik heb ergens een script gevonden dat een heel mooi fotoboek vormt. Dit werkt perfect in Internet explorer, maar zodra ik de pagina in firefox open gaat het mis. als je op een plaatje klikt gebeurt er niks.
Wat doe ik fout? heeft het iets te maken met window.open in laatzien?
hier mijn script:
<?php
//LET OP!!! Hier moet je de directory invullen waar je foto's staan
//vergeet niet de "/" op het einde
//deze directory gaat uit van het pad waar je file staat. Ook geen
//leading "/" gebruiken dus.
$dir = 'images/';
$dir2 = 'klein/';
//inhoud van de directory ophalen
$handle = opendir($dir);
while ($file = readdir($handle))
{
if($file == '.' || $file == '..')
continue;
else
$result_array[]=$file;
}
closedir($handle);
?>
<center>
Wacht tot alle fototjes geladen zijn....<br>
</center>
<script language="JavaScript">
<!--
function laatZien(fotonr, hoogte, breedte, src)
{
foto = window.open('','','menubar=no,toolbar=no');
foto.resizeTo(breedte,hoogte);
foto.document.write("<html><head><title>Foto - " + fotonr + "</title></head><body leftmargin='0' topmargin='0'>");
foto.document.write("<center><img src=" + src + fotonr + "><center><br>");
foto.document.write("<center><font face='Arial, Helvetica, sans-serif' size='2'>.::<a href='JavaScript:window.close();'> Sluit venster </a>::.</font></center>");
foto.document.write("</body></html>");
}
!-->
</script>
</head>
<style>
body
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
background-color: #FFFFFF
}
span
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #CC6633
}
a:link { color: #000000; font-size: 12px }
a:visited { color: #31928C; font-size: 12px }
a:active { color: #CCFFCC; font-size: 12px }
a:hover { color: #CC3333; font-size: 12px }
</style>
<body>
<?php
//aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet "foto". Deze index.php moet
//één directory hoger staan :-)
//Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven ook te wijzigen.
//ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels dus dat
//doe je zelf maar :-P
$rows = 4;
$cols = 5;
//pagina nummer ophalen, indien geen pagina nummer op 0 zetten
if(isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 0;
}
//totaal aantal foto's, om het aantal pagina's uit te rekenen
$num_pics = count($result_array);
//wat vars en andere rommel om de juiste pagina's en array's door te lopen
$cells = $rows * $cols;
$pages = ceil($num_pics / ($rows * $cols));
$num_pages = $pages - 1;
$output = array();
$slices = array();
$push = 0;
$showpage = $page + 1;
//array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
for($k=0;$k<$pages;$k++)
{
array_push($slices, $push);
$push = $push + $cells;
}
//lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen uit $result_array halen
for($k=0;$k<$pages;$k++)
{
if($page == key($slices))
{
$output = array_slice($result_array, current($slices), $cells);
}
next($slices);
}
reset($output);
//afbeelden van afbeeldingen
print "<center>\n<table width='*' border='1' bordercolor='#000000' cellspacing='0' cellpadding='2'>\n";
for($i=0;$i<$rows;$i++)
{
print "\t<tr>\n";
for($j=0;$j<$cols;$j++)
{
if(current($output) != false)
{
$pic = current($output);
$size = getimagesize($dir.$pic);
$height_button = $size[1] + 70;
$value = current($output);
print "\t\t<td width='100' height='100' align=center>\n\t\t\t<a href=JavaScript:laatZien('$value',$height_button,$size[0],'$dir');>\n\t\t\t\t<img width='100' height='100' border='0' src='$dir2$value'>\n\t\t\t</a>\n\t\t</td>\n\n";
next($output);
}
else
{
print "\t\t<td width='100' height='100' align='center'> </td>\n";
}
}
print "\t</tr>\n";
}
//hier worden de prev en next knopjes gemaakt.
$ref = $_SERVER['PHP_SELF'];
print "</table>\n";
if($num_pages == '0')
{
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
elseif(($page == '0')||($page == ''))
{
// geen previous knopje, begin pagina index.php?page=0
$next = $page + 1;
print "<span>[ </span>";
print "vorige";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
elseif($page == $num_pages)
{
// geen next knopje, $pages = maximum
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "volgende";
print "<span> ]</span>";
}
else
{
// de rest, pagina's in het midden, 2 knopjes
$next = $page + 1;
$prev = $page - 1;
print "<span>[ </span>";
print "<a href='$ref?page=$prev'>vorige</a>";
print "<span> ] </span>";
$page_link = 1;
for($k=0;$k<$pages;$k++)
{
if($k == $page)
{
print "$page_link ";
}
else
{
print "<a href='$ref?page=$k'>$page_link</a> ";
}
$page_link++;
}
print "<span> [ </span>";
print "<a href='$ref?page=$next'>volgende</a>";
print "<span> ]</span>";
}
//pagina nummer afbeelden, dit kan je er nog uit slopen of ergens anders neerkwakken
print "<br><br>";
print "Pagina: $showpage van $pages";
?>
</center>
</body>
</html>
1.354 views