title: Javascript recursion settimeout
body: <p>I have just started looking at javascript so hopefully this will be something simple. I want to make a slideshow of images that plays automatically. This is very simple, and there are a few tutorials on it but for some reason I haven't been able to get it to work. This is what I have:</p>
  
  <pre><code>var image1 = new Image();
  var image2 = new Image(); 
  var image3 = new Image();
  image1.src = "images/website6.jpg";
  image2.src = "images/website7.jpg";
  image3.src = "images/sunset.jpg";
  var images = new Array(
    "images/website6.jpg",
    "images/website7.jpg",
    "images/sunset.jpg"
  );
  setTimeout("delay(images,0)",2000);
  function delay(arr,num){
    document.slide.src = arr[num % 3];
    var number = num + 1;
    setTimeout("delay(arr,number)",1000);
  }
  </code></pre>
  
  <p>The image I'm trying to change has id slide. And I also have some evidence that it works. What happens is the first image loads. Then the second image loads (which means the original setTimeout call must be working). Then nothing happens. Which to me suggests it's the recursion that isn't working.</p>
  
  <p>I am very familiar with recursion in other languages, so I think it must just be a syntax thing or something, but I can't seem to figure it out. Thanks for any help.</p>