是否有更短的方式来刷新div

时间:2015-05-12 15:41:52

标签: javascript jquery ajax

我的页面中有一些元素,我需要每5秒刷新一次内容。我将向您展示的代码运行良好,但它看起来很长并且重复自己。当我仅使用 setInterval 功能时,页面在间隔到来之前不会定期加载。你能建议一个更好的方法吗?提前致谢。这是我的代码:

var $song=$(".song");
var $album=$(".album");
var $cover=$(".cover");
var $background=$(".overlay-bg");
$.ajax({
    url: "song.php",
    success: function (response) {
        var nowPlaying=$.parseJSON(response);
        $song.html(nowPlaying.song);
        $album.html(nowPlaying.album);
        $cover.css("background-image", "url("+nowPlaying.cover+")");
        $background.css("background-image", "url("+nowPlaying.cover+")");
    }
})
var refreshSongDetails=setInterval(function() {
    $.ajax({
        url: "song.php",
        success: function (response) {
            var nowPlaying=$.parseJSON(response);
            $song.html(nowPlaying.song);
            $album.html(nowPlaying.album);
            $cover.css("background-image", "url("+nowPlaying.cover+")");
            $background.css("background-image", "url("+nowPlaying.cover+")");
        }
    })
}, 5000);

1 个答案:

答案 0 :(得分:5)

在函数中创建ajax调用并调用它:

var $song=$(".song");
var $album=$(".album");
var $cover=$(".cover");
var $background=$(".overlay-bg");

function ajaxCall() {
  $.ajax({
      url: "song.php",
      success: function (response) {
          var nowPlaying=$.parseJSON(response);
          $song.html(nowPlaying.song);
          $album.html(nowPlaying.album);
          $cover.css("background-image", "url("+nowPlaying.cover+")");
          $background.css("background-image", "url("+nowPlaying.cover+")");
      }
  })
}

ajaxCall();

var refreshSongDetails = setInterval(ajaxCall, 5000);
相关问题