Hi, ik ben een totale noob in Javascript maar ik heb het volgende scriptje:


<script language="JavaScript1.1">
<!--
var slidespeed=3000 // snelheid in milliseconden

//verander hieronder de namen van de foto's
var slideimages=new Array("01.jpg","02.jpg","03.jpg","04.jpg")
//specificeer de foto's achtereenvolgns met de gewenst url
var slidelinks=new Array("http://www.link.nl","http://www.link.nl","http://www.link.nl","http://www.link.nl")

var imageholder=new Array()
var ie55=window.createPopup
for (i=0;i<slideimages.length;i++){
imageholder[i]=new Image()
imageholder[i].src=slideimages[i]
}

function gotoshow(){
window.location=slidelinks[whichlink]
}

//-->
</script>


Is het mogelijk om met PHP een map + submappen in te lezen waar de foto's in staan. En dat in de array te zetten ipv dat dit hand mating moet? Of kun je geen php gebruiken in JS?

Mvg Pepijn
De id:

<div id="slide"></div> (staat in de html);

Oh ja, het tweede argument van die setTimeout functie is de tijd wanneer het volgende plaatje moet verschijnen, ik gebruik daarvoor 2985 milliseconde per plaatje, het volgende plaatje is dus 2x2985 milliseconde, maar dat had je wellicht al door.
Ik heb nu dit:


<?php
//eerst de array aanmaken
$bestanden       = array();
$link			 = array();
$map             = 'pictures/';

if ($handle = opendir($map)) {
    /* Dit is de juiste manier om door een directory te wandelen. */
    while (false !== ($file = readdir($handle)))
	
	 {
        $bestanden[]= $file;
    }
}

$aantal = count($bestanden);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Media Manager</title>
<link rel="stylesheet" href="styles/default/css.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
function slidepics() {
 <?php 
 for ($i=0; $i < $aantal; $i++)
 {
  $tijd = $tijd + 2985
  ?>
setTimeout("document.getElementById('slide').innerHTML='<img src="<?php echo $map.$bestanden[$i]; ?>" border=\"1\">'",<?php echo $tijd; ?>);
<?php
}
?>
}
slidepics();
</script>

</head>
<body>
<br>
<div id="slide"></div>
</body>
</html>


Nu krijg ik gewoon het javascript als tekst te zien. En de foto's tegelijk op 1 pagina. Waar zit de bug?
2 dingen vergeet je, je moet de javascript tussen :

<script type="text/javascript">

en

</script>

zetten

En op het einde van de setTimeOut regel moet je ff een nieuwe regel outputten met php, dat doe je door een echo "\n" te doen. Wen jezelf aan om javascript altijd netjes te outputten door newlines mee te geven, scheelt je naderhand een hoop ergernis ;-)

Ok, gefixt hij werkt nu lekker! thx voor de source Baarr

Reageren