Jquery PHP每10秒刷新一次背景图像

时间:2016-11-24 23:33:09

标签: javascript php jquery html css

我正在为我的业余爱好电台工作。我已经在展示正在播放的艺术家和名衔。但现在我想看到艺术家的背景正在发生变化。因此,当Phil Collins在演奏时,我很想在我的背景上看到Phil COllins的照片。

我已经知道如何使用JQuery加载背景图像:

$(".container").css("background-image", "url('images/bg/artist/<?php echo $newartist; ?>.jpg')");

但是我无法弄清楚如何在页面加载时显示背景并每隔10秒刷新一次。

希望有人可以帮助我。

提前致谢!

Krijn

3 个答案:

答案 0 :(得分:1)

您可以尝试setInterval(function(){ alert("Hello"); }, 3000);

http://www.w3schools.com/jsref/met_win_setinterval.asp

答案 1 :(得分:0)

首先,我注意到你在js片段中使用php来将艺术家打印在那里。不确定是否通过js设置它确实是初始图像的最佳选择,因为它必须等到执行javascript。您也可以直接在容器上设置它:

<div 
    class='container' 
    style='background-image: url('images/bg/artist/<?= $newartist; ?>.jpg')'
> 
    ... 
</div> 

现在要更新该图片,您需要通过ajax获取当前艺术家。因此,您需要一些可以返回当前艺术家的简单PHP脚本。然后你可以像这样调用那个脚本:

function updateArtist() {
    $.ajax({
        method: 'GET',
        url: 'current_artist.php', 
        success: function(newArtist) {
            $(".container").css("background-image", "url('images/bg/artist/" + newArtist + ".jpg')");
        }
    });
}

要每隔10秒自动执行此操作,您可以在一段时间内调用它:

setInterval(updateArtist, 10000);

只是从我的头顶部分的一些伪代码,但它应该指向正确的方向。如果有什么不清楚,请随时询问。

答案 2 :(得分:0)

您可以使用

setTimeout(function(){ alert("Hello"); }, 10000);

See Demo Here: