2013-12-11 3 views
0

I, 즉 내가 찾은 유일한 제안이기 때문에, 나는 평가하여 시도했습니다자바 스크립트 동적 포인터 할당

"image"+i+".src" 

의 라인을 따라 뭔가 같은 변수의 포인터를 할당 할 수 있는지 궁금하네요 하지만 난 정의되지 않은 변수 오류가 던져지고있어. 누군가 내 생각을 신경 쓸 필요가 없다면 다음 코드를 참고하십시오.

<html> 
    <head> 
     <script type="text/javascript"> 
     <!-- 
      m = 0 
      x = 0 
      image=[ //Initializes the Array for Image URLs, Add object by adding the full URL in "" with , in between each entry 
       "http://i.imgur.com/OaElB10.jpg", 
       "http://i.imgur.com/NTYiEB9.jpg", 
       "http://i.imgur.com/X1jreGc.jpg"] 
      function ImgPreloadHandler() 
      {     
       l = image.length 
       for(t=0; t<l; t++) 
       { 
        var image+t = new image() 
         image+t = image[t] 
       } 
      } 
      ImgPreloadHandler() 
     //--> 
     </script> 
    </head> 
    <body> 
    <img src="http://i.imgur.com/mv3sV8m.png" name="slide" width="796" height="600" /> 
     <script> 
      function slideit() 
      {    
       var step = 0 
       var z = step 
       if (!document.images)//if browser does not support the image object, exit. 
        return 
         document.images.slide.src= 
        if (step<x) 
         step++ 
        else 
         step=1 
       setTimeout("slideit()",2500)//call function "slideit()" every 2.5 seconds 
      } 
     slideit() 
     </script> 
    </body> 
</html> 
+1

을하면, 값 목록을 생성 배열을 사용합니다. –

+0

가능한 복제본 [자바 스크립트 - 동적 변수] (http://stackoverflow.com/questions/4385084/javascript-dynamic-variables) –

+2

JavaScript에는 포인터가 없으므로 수동으로 메모리를 할당 할 수 없습니다. 또한 동적 변수 이름을 만들 수 없습니다. 이미 가지고있는'image' 배열을 사용하십시오! – Bergi

답변

0

동적 변수 이름을 만들 수 없습니다. 그러나 다른 솔루션이 많이 있습니다.

왜 이미지 값이 포함 된 개체를 만들지 않습니까? 그런데

var images = {}; 

for(t=0; t<l; t++) { 
    images[image + t] = image[t]; 
} 


console.log(images); 
> { 
    image0: "http://i.imgur.com/OaElB10.jpg", 
    image1: "http://i.imgur.com/NTYiEB9.jpg", 
    image2: "http://i.imgur.com/X1jreGc.jpg" 
    } 

, 평가 후면 사용하지 않는 :