<?php
$images = listImageFiles('/mijn-map');
echo "var imagenames = new Array('" . implode("', '", $images) . "');";
?>
Link gekopieerd
maar volgens mij kun je in een .js bestand geen php zetten hoor :S
Link gekopieerd
Hernoem het bestand naar .php en het kan wel :)
Inn het src-attribuut van het sript-element maakt de extentie .php of .js echt niet uit.
Link gekopieerd
Nee, je kan wel gewoon zo doen:
<script src="laadbalk.php"></script>
en php het javascript bestand laten genereren door php.
Link gekopieerd
je moet wel bovenaan in laadbalk.php dit zetten:
<?php
header('Content-type: text/js');
?>
sommige browsers snappen niet dat je het als js wilt gebruiken, maar met dat regeltje wel.
Link gekopieerd
De header is dan toch text/javascript?
<?php
header('Content-type: text/javascript');
?>
Link gekopieerd
Jip schreef op 01.08.2006 15:22
De header is dan toch text/javascript?
<?php
header('Content-type: text/javascript');
?>
Dacht het niet.
Het was toch ook <script language="javascript" en type="
text/js ">???
Link gekopieerd
Nee het is type="text/javascript"
Link gekopieerd
PHPerik schreef op 01.08.2006 15:32
Nee het is type="text/javascript"
Dan is het dus toch
<?php
header('Content-type: text/javascript');
?>
. Sorry v00r de fout
Link gekopieerd
oke, heb nu laadbalk.php met de volgende code:
<?php
header('Content-type: text/javascript');
function listImageFiless ($dir) {
if ($handle = opendir($dir)) {
$imgs = array ();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (eregi (".jpg|.gif|.png", $file)) {
$imgs[] = $file;
$n++;
}
}
}
sort ($imgs);
reset ($imgs);
closedir($handle);
}
return $imgs;
}
$images = listImageFiles('image');
echo "var imagenames = new Array('" . implode("', '", $images) . "');";
?>
var yposition=220; // laadbalk positie, vanaf bovenkant venster, in pixels
var loadedcolor='blue' ; // laadbalk kleur ingeladen beelden
var unloadedcolor='yellow'; // laadbalk kleur nog in te laden beelden
var barheight=15; // laadbalk hoogte in pixels
var barwidth=400; // laadbalk breedte in pixels
var bordercolor='black'; // laadbalk randkleur
// hieronder niets wijzigen :
var NS4 = (navigator.appName.indexOf("Netscape")>=0 && parseFloat(navigator.appVersion) >= 4 && parseFloat(navigator.appVersion) < 5)? true : false;
var IE4 = (document.all)? true : false;
var NS6 = (parseFloat(navigator.appVersion) >= 5 && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var imagesdone=false;
var blocksize=barwidth/(imagenames.length);
barheight=Math.max(barheight,25);
var loaded=0, perouter, perdone, images=new Array();
var txt=(NS4)?'<layer name="perouter" bgcolor="'+bordercolor+'" visibility="hide">' : '<div id="perouter" style="position:absolute; visibility:hidden; background-color:'+bordercolor+'">';
txt+='<table cellpadding="0" cellspacing="1" border="0"><tr><td width="'+barwidth+'" height="'+barheight+'" valign="center">';
if(NS4)txt+='<ilayer width="100%" height="100%"><layer width="100%" height="100%" bgcolor="'+unloadedcolor+'" top="0" left="0">';
txt+='<table cellpadding="0" cellspacing="0" border="0"><tr><td valign="center" width="'+barwidth+'" height="'+barheight+'" bgcolor="'+unloadedcolor+'"><center><font color="'+loadedcolor+'" size="2" face="sans-serif">Bezig met het inladen van de afbeeldingen ...</font></center></td></tr></table>';
if(NS4) txt+='</layer>';
txt+=(NS4)? '<layer name="perdone" width="100%" height="'+barheight+'" bgcolor="'+loadedcolor+'" top="0" left="0">' : '<div id="perdone" style="position:absolute; top:1px; left:1px; width:'+barwidth+'px; height:'+barheight+'px; background-color:'+loadedcolor+'; z-index:100">';
txt+='<table cellpadding="0" cellspacing="0" border="0"><tr><td valign="center" width="'+barwidth+'" height="'+barheight+'" bgcolor="'+loadedcolor+'"><center><font color="'+unloadedcolor+'" size="2" face="sans-serif">Bezig met het inladen van de afbeeldingen ...</font></center></td></tr></table>';
txt+=(NS4)? '</layer></ilayer>' : '</div>';
txt+='</td></tr></table>';
txt+=(NS4)?'</layer>' : '</div>';
document.write(txt);
function loadimages(){
if(NS4){
perouter=document.perouter;
perdone=document.perouter.document.layers[0].document.perdone;
}
if(NS6){
perouter=document.getElementById('perouter');
perdone=document.getElementById('perdone');
}
if(IE4){
perouter=document.all.perouter;
perdone=document.all.perdone;
}
cliplayer(perdone,0,0,barheight,0);
window.onresize=setouterpos;
setouterpos();
for(n=0;n<imagenames.length;n++){
images[n]=new Image();
images[n].src=imagenames[n];
setTimeout('checkload('+n+')' ,n*100);
}}
function setouterpos(){
var ww=(IE4)? document.body.clientWidth : window.innerWidth;
var x=(ww-barwidth)/2;
if(NS4){
perouter.moveTo(x,yposition);
perouter.visibility="show";
}
if(IE4||NS6){
perouter.style.left=x+'px';
perouter.style.top=yposition+'px';
perouter.style.visibility="visible";
}}
function dispbars(){
loaded++;
cliplayer(perdone, 0, blocksize*loaded, barheight, 0);
if(loaded>=imagenames.length)setTimeout('hideperouter()', 800);
}
function checkload(index){
(images[index].complete)? dispbars() : setTimeout('checkload('+index+')', 100);
}
function hideperouter(){
(NS4)? perouter.visibility="hide" : perouter.style.visibility="hidden";
imagesdone=true;
}
function cliplayer(layer, ct, cr, cb, cl){
if(NS4){
layer.clip.left=cl;
layer.clip.top=ct;
layer.clip.right=cr;
layer.clip.bottom=cb;
}
if(IE4||NS6)layer.style.clip='rect('+ct+' '+cr+' '+cb+' '+cl+')';
}
window.onload=loadimages;
in m'n index.php staat:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
<script src="laadbalk.php"></script>
</head>
<body>
<center>Plaatjes die gelaaden zijn:</center><br><br>
<?php
function listImageFiless ($dir) {
if ($handle = opendir($dir)) {
$imgs = array ();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (eregi (".jpg|.gif|.png|.bmp", $file)) {
$imgs[] = $file;
$n++;
}
}
}
sort ($imgs);
reset ($imgs);
closedir($handle);
}
return $imgs;
}
$images = listImageFiless('images');
echo implode(", ", $images);
?>
</body>
</html>
Maar, geen laadbalk =(
Link gekopieerd