Nuvolari
Nuvolari

Reputation: 1155

Calling Javascript Files Sequentially With JQuery

Say I have the following array:

var array=['script1.js', 'script2.js','script3.js','script1.js']

How can I run through that array loading in each script one by one with the next one only being called after the previous one has been fully loaded and fired?

I wish to use JQuery's getScript function.

Would something like this suffice?

var i=0;
var id_key='file'+i;
function load_script(url){
$.getScript(url)
.done(i++; load_script(array[i]);
}

Upvotes: 1

Views: 186

Answers (2)

Arun P Johny
Arun P Johny

Reputation: 388326

Try something like

var array = ['script1.js', 'script2.js', 'script3.js', 'script1.js'];

function load_scripts(array) {
    if (!array || !array.length) {
        return
    }
    $.getScript(array.shift(), function () {
        load_scripts(array);
    })
}
load_scripts(array)

Demo: Fiddle

Upvotes: 3

WebServer
WebServer

Reputation: 1396

var i=1;
var id_key='file'+i;
function load_script(url){
  $.getScript(url)
  .done(
      function(data){
        switch(i){
          case 1://do blah blah
          case 2://do blah blah
        }
        i++;
        if(i<=array.length){
          load_script(array[i])
        }
      });
}
load_script(array[i]);

Upvotes: 1

Related Questions