2014-02-22 38 views
2

我可以在兩個變量(例如var path = css/image/var urlpath = /pic/funny/)中分別具有圖像文件夾路徑和url路徑,並將它們分別添加到每個圖像和url之前,這樣我就不必重複var picData中每個圖像的路徑?如何使用圖像文件夾路徑的使用變量

Array.prototype.shuffle = function() { 
       var s = []; 
       while (this.length) s.push(this.splice(Math.random() * this.length, 1)); 
       while (s.length) this.push(s.pop()); 
       return this; 
      } 

      var picData = [ 
       ['img1','url_1'], 
       ['img2','url_2'], 
       ['img3','url_3'], 
       ['img4','url_4'], 
       ['img5','url_5'], 
       ['img6','url_6'], 
       ['img7','url_7']]; 

      picO = new Array(); 
      randIndex = new Array(); //array of random indexes 
      for(i=0; i < picData.length; i++){ 
       picO[i] = new Image(); 
       picO[i].src = picData[i][0]; 
       picO[i].alt = picData[i][1]; 
       randIndex.push(i); 
      } 
      randIndex.shuffle(); 
      window.onload=function(){ 
       var mainImgs = document.getElementById('carouselh').getElementsByTagName('img'); 


       for(i=0; i < mainImgs.length; i++){ 
        mainImgs[i].src = picO[randIndex[i]].src; //assign a random image 
        mainImgs[i].parentNode.href = picData[randIndex[i]][1]; 
        mainImgs[i].alt = picData[randIndex[i]][1]; 
       } 

      } 

我試過類似mainImgs[i].src = path.picO[randIndex[i]].src;但我無法獲得正確的語法。

回答

5

使用+你的榜樣結合的變量,而不是.

var a = "Some"; 
var b = "day"; 
var c = " we are gone."; 

alert(a + " " + b + c); 

或者像那麼:

mainImgs[i].src = path + picO[randIndex[i]].src; 

您還需要引用您的變量:

var urlpath = "/pic/funny/"; 
+0

@Tomanow: Quote:*我曾嘗試類似'mainImgs [i] .src = path.picO [randIndex [i]]。src;'[...] *。 – user13500

+0

它的工作原理。問題解決了!我必須把變量放在'window.onload = function(){' – RedGiant

+0

@ user35295:你也可以把你的腳本放在頁面底部或者在文檔上使用'addEventListener(「load」)'。當你使用jQuery時,你可以使用'$(document).ready(function(){/ *把你的代碼放在這裏獲取DOM元素。 http://api.jquery.com/ready/ – user13500

相關問題