2013-10-30 70 views
0

我在使用外部js代碼設置我的免費圖片時遇到問題。 這是JS的代碼:使用外部js文件設置背景圖片

$(document).ready() 
{ 
mazdaArr = new Array(); 
    for (i=1;i<6;i++) 
    { 
     mazdaArr[i-1]= new Image(); 
     mazdaArr[i-1].src = 'mazda/mazda'+[i]+'.jpg'; 
    } 
    $('mainContent').css('background-image','url(/mazda/mazda4.jpg)'); 
    $('mainContent').css('background-image', 'url(' + mazdaArr[3].src + ')'); 
    console.log(mazdaArr[3].src); 
} 

一切工作正常,但CSS ATTR,因爲我可以在控制檯右側的鏈接看到,當我點擊它時,圖像將在新標籤打開。通過這我覺得從HTML頁面的jquery調用是好的。

找不到什麼不順心這裏...

+0

你不缺各地的URI引號?他們應該閱讀像'url(「http://example.com/foo.png」);'。 – nietonfir

+0

只是試圖添加它,它不會工作...順便兩條線應設置相同的背景圖像,我只是試圖把它與直接的網址,仍然沒有提供任何東西。 – Juvi

+0

設置URL時,不需要引號。有點奇怪。 –

回答

2

有幾件事情:

  • 看起來你的字符串concatinating數組文本,而不是整我。所以'string'+[]+'string'實際上是'string' + new Array() + 'string'
  • 您的選擇器mainContent需要尋找一個班級或ID,所以要麼.mainContent#mainContent
  • 最後,你不需要實例化一個新的Image,因爲jQuery只會用屬性的新字符串更新元素的CSS。

嘗試

$(document).ready(function() { 
    var mazdaArr = [], 
     i = 0; 
    for (i; i<5; i++) { 
     mazdaArr[i] = 'mazda/mazda'+ i +'.jpg'; 
    } 

    $('#mainContent').css('background-image', 'url(' + mazdaArr[3] + ')'); 

    console.log(mazdaArr[3].src); 
}); 
+0

好的發現,但沒有他說,鏈接在新標籤中正確打開? –

+0

公平地說,它根本不需要新的圖像部分 - 圖像路徑應該就足夠了。 – Wil

+0

給出了相同的結果 – Juvi