2011-06-22 96 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/