2014-02-27 28 views
2

我有兩個背景圖片用於本網站,我希望它們每5秒自動更改一次。有人可以看看我的jQuery代碼,並告訴我我做錯了什麼?jquery,用計時器更改背景圖像

$(function() { 
var body = $(‘body’); 
var backgrounds = new Array(
‘url(images/hso-palmtree-background.jpg)’, 
‘url(images/hso-boardwalk-background.jpg)’ 
); 

var current = 0; 

function nextBackground() { 
    body.css(
    ‘background’, 
    backgrounds[current = ++current % backgrounds.length] 
); 

setTimeout(nextBackground, 5000); 
} 
setTimeout(nextBackground, 5000); 
    body.css(‘background’, backgrounds[0]); 
}); 
+0

它在幹什麼? – Colleen

+0

現在它沒有做任何事情。沒有背景顯示。但我知道它確實獲得了圖像,因爲我將它們中的一個設置爲CSS的背景,以確保它可以正常工作。 –

+0

好的。下次您提出問題時,請將該信息放入其中。現在,如果你打開螢火蟲或類似的東西,你有任何錯誤嗎? – Colleen

回答

18

你的代碼是正確的,你只需要改變的反引號。將更改爲'

這裏是一個清洗修訂:http://jsfiddle.net/X2NqX/

$(function() { 
    var body = $('body'); 
    var backgrounds = [ 
     'url(http://static.jsbin.com/images/jsbin_static.png)', 
     'url(http://static.jsbin.com/images/popout.png)']; 
    var current = 0; 

    function nextBackground() { 
     body.css(
      'background', 
     backgrounds[current = ++current % backgrounds.length]); 

     setTimeout(nextBackground, 5000); 
    } 
    setTimeout(nextBackground, 5000); 
    body.css('background', backgrounds[0]); 
}); 
+0

是的,先生,這工作!謝謝 :) –