如何在加载时延迟背景图像

时间:2014-09-04 05:41:41

标签: jquery css delay fadein

我知道如何在加载时延迟元素,但我有一个来自客户端的奇怪请求。他们希望在页面加载后5秒加载背景图像。我是js的新手,以为我可以轻松地做到,但它没有成功。

我试过这个:

$(document).ready(function() {
    $('#primary .bcg').css( "background", "url(folder/path", function(){
        $(this).delay(5000).fadeIn(400)
        });
});

和此:

$(document).ready(function() {
    $('#primary .bcg').delay(5000).fadeIn(400, function() {
           $('this').css( "background", "url(folder/path")
    });
});

两者都无济于事。有没有办法让这种情况发生?或者更确切地说是新手实现它的方式?

css:

#primary .bcg {
    background: none;
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

你可以使用setTimeout作为“

这样做
$(document).ready(function(){
   setTimeout(function(){
       $('#Primary .bcg').css('background', 'url(folder/path)');
   }, 5000);    // Delay for 5 seconds
});

答案 1 :(得分:1)

$(document).ready(function(){
   setTimeout(function(){
       $('#Primary .bcg').css('background', 'url(folder/path)');
   }, 10000);    
});

您可以使用设置时间超时但不会获得fadeIn效果。或者你可以

$(document).ready(function(){
  $('#Primary .bcg').fadeOut(function() {
     $('#Primary .bcg').css({background : url('folder/path') });
    $('#Primary .bcg').fadeIn(300);
  }, 300);
})