2011-06-22 133 views
5

我有圖像background.jpg作爲背景。每10秒鐘,如何加載一個新的背景background_n.jpg,其中保持100ms,然後回到background.jpg等等?如何更改背景每5秒

+1

是不是可以發生癲癇發作的間隔? –

回答

2
function change_background(new_image_source) { 

    var myimage = $('#myimage'); 

    myimage.attr('src', new_image_source); 

    setTimeout(function() { 

    change_background('new image source here'); 

    }, 10000); 

} 
0

使用JavaScript的setTimeout()功能 或 jQuery的

d = new Date(); 
$("#myimg").attr("src", "/myimg.jpg?"+d.getTime()); 
9

下面是一個例子(不需要jQuery的工作):

var rotate = false; 
function setbackground(){ 
    window.setTimeout("setbackground()", 5000); 
    newImage = rotate ? 'url(pict1.jpg)' : 'url(pict2.jpg)'; 
    rotate = !rotate; 
    document.getElementById('change').style.backgroundImage = newImage; 
} 

問候,

最大

2
  • 您可以使用setTimeout(function, timeout)(普通的JavaScript功能)設置function(您可以定義)後timeout毫秒

    例如(將顯示警報10秒後)來運行:

    setTimeout(function() { 
        alert('I am running!'); 
    }, 10000); 
    
  • 您可以change an element's background

    $(element).css('background-image', 'url(xy.jpg)') 
    
  • 確保你之前你預裝的背景圖片使用它們。

  • 我建議不要使用setInterval()(對於如此小的間隔,它可以疊加起來),使用鏈條setTimeout() s來設置重複動作。

1

您可以使用setInterval運行功能,每n秒,setTimeout關於改變背景圖像回代碼:

window.setInterval(function(){ 
    $('body').css('backgroundImage', 'url(background_n.jpg)'); 
    window.setTimeout(function(){ 
    $('body').css('backgroundImage', 'url(background.jpg)'); 
    }, 100); 
}, 10 * 1000); 
3

使用setIntervalsetTimeout

window.setInterval(function(){  
    window.setTimeout(function(){ 
     $('div').css('background-image','url(background.jpg)'); 
    },100); 
    $('div').css('background-image','url(background_n.jpg)'); 
},10000); 

示例:http://jsfiddle.net/niklasvh/M56A6/