2013-12-11 4 views
0

Я задаюсь вопросом, могу ли я присвоить указатель на переменную, как-то вдоль линийJavascript Динамическое распределение указатель

"image"+i+".src" 

Я попытался с помощью Eval, потому что это единственное предложение, которое я нашел, но меня бросает неопределенная переменная ошибка. Вот мой код, если кто-то не против взглянуть:

<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

Возможный дубликат [javascript - динамические переменные] (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" 
    } 

Кстати, не используйте Eval :)

Смежные вопросы