met php alle plaatjes uit de map halen en ze hierin echo-en
Link gekopieerd
ja maar een .JS is geen .PHP
Link gekopieerd
Klopt, maar PHP kun je wel binnen JS echoën. Als je dus een script hebt dat alle plaatjes uit een map haalt, kun je die binnen JS weer laten geven.
<script type="text/javascript">
<?php
echo 'alert ("Hallo wereld");';
?>
</script>
dat is een voorbeeld hoe je PHP in JS kunt gebruiken.
[edit]
foutje weggehaald
[/edit]
Link gekopieerd
ja maar ik gebruik geen <script> </script>
Ik gebruik een .JS bestand.. daar staat de heele code in.
Code van de .JS bestand:
// laadbalk.js
// plaats hier al je afbeeldingen in :
var imagenames=new Array( '../pics/foto1.jpg' , '../pics/foto2.jpg' , '../pics/foto3.jpg' , '../pics/foto4.jpg' , '../pics/foto5.jpg' );
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;
Link gekopieerd
Ook al gebruik je een .JS bestand, dan zul je nog steeds <script> tags moeten gebruiken om het te includen in je pagina.
Hier is een PHP functie die alle image files uit een map teruggeeft:
<?php
function listImageFiles ($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;
}
?>
Link gekopieerd
jah maar kijk..
<script src="laadbalk.js"></script>
zo haal je die JS op.. hoe verwerk ik er dan PHP in?
Link gekopieerd
Gewoon zoals altijd. Je kunt zelfs in je JS bestand PHP beginnen met
<?php
en eindigen met
?>
Als je host PHP ondersteunt, wordt het gewoon uitgevoerd als PHP.
Link gekopieerd
ok thx :)
waarom doen je code tags het trouwens niet?
Edit: nu wel :)
Link gekopieerd
Ja dat is de UBB parser op PHPhulp :-)
Link gekopieerd
Hey nog ff een klijn vraagje..
<?php
function listImageFiles ($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;
}
?>
Hoe zet je elk plaatje hierin? :
var imagenames=new Array( '../pics/foto1.jpg' , '../pics/foto2.jpg' , '../pics/foto3.jpg' , '../pics/foto4.jpg' , '../pics/foto5.jpg' );
Link gekopieerd