2011-09-19 2 views
0

그래서이 배열을 반복하고 몇 초마다 이미지 소스를 변경하려고합니다. 지금은 페이지가로드 된 후 5 초 후에 생각해야 할 이미지를 변경해야하는 setTimeOut 메서드를 호출하는 onload 이벤트가 있지만 즉시 처리하고 있습니다. 문제가 무엇입니까? 여기 내 코드는 다음과 같습니다.Simple Javascript Gallery

<html> 
<head> 
    <title>Ad Rotaror</title> 
    <script type="text/javascript"> 
     var i = 0; 
     var ads = new Array(4); 
        ads[0]='promo1.gif'; 
        ads[1]='promo2.gif'; 
        ads[2]='promo3.gif'; 
        ads[3]='promo4.gif'; 
        ads[4]='promo5.gif'; 

     function change() 
     { 
      if(i > 4) 
       i = 0; 

      document.images[0].src = ads[i]; 
      i++; 
     } 
    </script> 
</head> 
<body> 
    <img src="promo1.gif" onload="setInterval(change(), 5000)" /> 
</body> 
</html> 
+0

오늘 많이 보았습니다. 당신은 모두 같은 대학 수업을 듣고 있습니까? –

+2

참고 :'setTimeout'은 한 번만 실행됩니다. 'setInterval'은 여러 번 실행됩니다. –

+0

고마워, 나는 내 스크립트를 setInterval로 편집했다. 그리고 예. 문제가있는 과제입니다. –

답변

2

'change()'를 'change'로 변경하십시오. 함수를 즉시 호출하고 있습니다.

+0

그것은 'change'는 함수를 나타내며'function() {..contents of change function ..} '과 비슷하다. 반면에'change()'는 함수를 완전하게 호출하는 것과 같다. – rlemon

+0

그래서 SetInterval은 함수를 첫 번째 매개 변수로 기대하고 있으므로 호출 할 필요가 없습니다. –

+0

@Howdy_McGee 네, JavaScript에서는 객체와 같은 함수를 전달할 수 있습니다. –