2015-12-07 75 views
0

我陣列var myImages = [];,一旦我console.log()陣列(我推項目到它上面),我得到這個回:循環通過數組的Javascript

["01_img"] 
["02_img"] 
["03_img"] 
["04_img"] 
["05_img"] 

然後onClick我改變div到背景有一個陣列的背景圖像。

$('.div_content').css('background-image', 'url(https://url/path/images/' + myImages + '.png)'); 

我該如何改變它,所以背景圖片我有變化onClick

我試圖按照例如我發現,但沒有佔上風:

$('.btn').on('click', function(){ 
     var myIndex = 1; 
      myIndex = (myIndex+1)%(myImages.length); 

      $('.div_content').css('background-image', 'url(https://url/path/images/' + myIndex + '.png)');) 
    }); 

任何幫助表示讚賞,感謝。

+2

問題不明確。你能否詳細說明一下? –

+0

對不起,我的壞。基本上,數組中的每個項目都是一個圖像名稱。所以'onClick'我用數組中的項改變'div'的背景圖片。我遇到的問題是它總是在第一個數組項中加載。我需要'onClick'從數組 – PourMeSomeCode

回答

2

如果我corectly理解你的問題,你應該只

var myIndex = 0; 
$('.btn').on('click', function(){ 
    $('.div_content').css('background-image', 'url(https://url/path/images/' + myImages[myIndex] + '.png)'); 
    myIndex = (myIndex+1)%(myImages.length); 
}); 
+0

...中隨機選擇一個項目,但不是* global *,只是點擊處理程序關閉的東西。全球變量應避免。 –

+0

謝謝,我剛剛編輯 – suvroc

2

每次點擊myIndex var設置1.刪除線var myIndex = 1;myIndex作爲全球定義或外部範圍的myIndex變量全球變種

而且你需要使用myImages[myIndex],而不是myIndex將從myIndex取該值作爲重點從myImages

var myIndex = 0; 

$('.btn').on('click', function(){ 
    myIndex = (myIndex+1)%(myImages.length); 
    $('.div_content').css('background-image', 'url(https://url/path/images/' + myImages[myIndex] + '.png)');) 
}); 
+0

還需要啓動一個'0',並在*後使用該值增加*。 –

1
var myIndex = 0; 
$('.btn').on('click', function(){ 
     // Short hand if: If the statement is true, use the first value, else (':') the second. 
     myIndex = (myIndex+1)%(myImages.length); 
     $('.div_content').css('background-image', 'url(https://url/path/images/' + myImages[myIndex] + '.png)');) 
}); 

您應該通過聲明數組中存儲你的位置一個全局變量做到這一點:myIndex,然後遞增該數字並確保它不超過數組長度(減1,因爲數組長度從0開始)。

如果你想從數組隨機挑,請嘗試以下操作:

myIndex = Math.floor(Math.random() * myImages.length); 

然後你可以簡單的要求使用myImages[myIndex]在該位置的值。

+0

@ T.J.Crowder啊是的,我從來沒有這樣做過。讓我恢復。 – somethinghere

+0

這真的很酷。 :-)說'長度'是'5'。如果以'i = 0'開始,那麼'i =(i + 1)%長度','i'將會變爲0,1,2,3,4,0,1,2,3,4 ... –

+0

@TJCrowder酷 - 如果有點難以閱讀(但這可能是因爲我還沒有用它呢..雖然這可能是好的畫廊材料)。乾杯 – somethinghere