有一個更乾淨的方法來做到這一點。作爲演示,請參閱:
<button id="toggle" type="button">Toggle Background Color</button>
var togglebg = (function(){
var bgs = ['black','blue','red','green'];
return function(){
document.body.style.backgroundColor = bgs[0];
bgs.push(bgs.shift());
}
})();
document.getElementById('toggle').onclick = togglebg;
http://jsfiddle.net/userdude/KYDKG/
顯然,你將取代Color
與Image
,但是這一切確實是通過當地的togglebg
功能列表循環,總是使用第一個可用的。這也需要運行window.onload
,最好是button
上的window.addEventListener
/window.attachEvent
或將觸發它運行的元素。
或者使用jQuery(我注意到現在標籤):
jQuery(document).ready(function ($) {
var togglebg = (function() {
var bgs = ['black', 'blue', 'red', 'green'];
return function() {
document.body.style.backgroundColor = bgs[0];
bgs.push(bgs.shift());
}
})();
$('#toggle').on('click', togglebg);
});
http://jsfiddle.net/userdude/KYDKG/1/
這裏是一個DummyImage version使用真實的圖像:
jQuery(document).ready(function ($) {
var togglebg = (function() {
var bgs = [
'000/ffffff&text=Black and White',
'0000ff/ffffff&text=Blue and White',
'ffff00/000&text=Yellow and Black',
'ff0000/00ff00&text=Red and Green'
],
url = "url('http://dummyimage.com/600x400/{img}')";
return function() {
document.body.style.backgroundImage = url.replace('{img}', bgs[0]);
bgs.push(bgs.shift());
}
})();
$('#toggle').on('click', togglebg);
});
http://jsfiddle.net/userdude/KYDKG/2/
注意:除非您已將其定義在其他地方,否則它應該在代碼中是'var imgPath'。 –