2011-04-01 6 views
2

J'utilise le code suivant pour précharger un mp3:ajax jQuery() préchargement plusieurs choses

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

Y at-il de toute façon je peux avoir plusieurs éléments pré-chargés (images et mp3 par exemple)?

par exemple.

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

Cheers!

+0

Dans le dernier bloc de code, vouliez-vous dire 'url: [" boom.mp3 "," moo.jpg "],'? – rxgx

+0

@rxgx: Je pense que c'est purement un exemple de ce que l'OP essaie d'accomplir. –

Répondre

8

Si vous utilisez jQuery 1.5, il existe deux nouvelles façons de gérer ceci: différée et promesses.

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); 

Pour utiliser dans votre exemple, par exemple, il suffit de remplacer les demandes ajax avec load.

-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> 

Lire beforeSend(jqXHR, settings)

+1

Alors, j'ai lu ça ... Qu'est-ce que tu dis exactement? Que je dois exécuter une autre requête 'ajax()' dans "beforeSend"? Cela semble terriblement inadéquat. –

+0

Votre modification ne fonctionnera toujours pas car vous ne définissez * rien * pour précharger. –

+0

Je ne fais que l'affichage du texte 'loading..'. jusqu'à ce que ajax soit terminé – diEcho

2

Une idée de moi: Ramassez tous les noms de fichiers dans un tableau et une boucle à travers le réseau. Enregistrer les opjects reçus dans un autre tableau et l'utiliser pour ce que vous voulez.

Peut-être que cela fonctionnera si vous définissez l'objet dans le paramètre url, séparé par deux points.