jQuery ajax()预加载多个东西

时间:2011-04-01 09:32:01

标签: javascript jquery preloading

我使用以下代码预加载mp3:

$.ajax({
    url: "boom.mp3",
    success: function() {
        //done
    }
});

无论如何我可以预装多个元素(例如图像和mp3)?

e.g。

$.ajax({
    url: "boom.mp3", "moo.jpg",
    success: function() {
        //done
    }
});

干杯!

3 个答案:

答案 0 :(得分:8)

如果您使用的是jQuery 1.5,则有两种新方法可以处理:延迟和承诺。

Creating Responsive Applications Using jQuery Deferred and Promises

function successFunc(){
  console.log( “success!” );
}    

function failureFunc(){
  console.log( “failure!” );
}

$.when(
  $.ajax( "/main.php" ),
  $.ajax( "/modules.php" ),
  $.ajax( "/lists.php" )
).then( successFunc, failureFunc );

例如,要在您的实例中使用此功能,只需将ajax请求替换为load

答案 1 :(得分:2)

我的想法:收集数组中的所有文件名并循环遍历数组。将收到的opject保存在另一个数组中,并将其用于您想要的内容。

如果您在url参数中定义对象,也可以使用冒号分隔。

答案 2 :(得分:-2)

<script>
$.ajax({
    type:"GET",
    url:'',
    dataType:'json',
    async:false,
    beforeSend:function(data){ // Are not working with dataType:'jsonp'
      $('#content').html('Loading...');
    },
    success:function(data){
        $('#content').html(data.content);
    }
});
</script>

阅读beforeSend(jqXHR, settings)