javascript帶回調(diào)函數(shù)的異步腳本載入方法實(shí)例分析
更新時(shí)間:2015年07月02日 12:12:27 作者:不吃皮蛋
這篇文章主要介紹了javascript帶回調(diào)函數(shù)的異步腳本載入方法,以實(shí)例形式較為詳細(xì)的分析了javascript回調(diào)函數(shù)實(shí)現(xiàn)異步載入的定義與使用技巧,需要的朋友可以參考下
本文實(shí)例講述了javascript帶回調(diào)函數(shù)的異步腳本載入方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
var Loader = function () { }
Loader.prototype = {
require: function (scripts, callback) {
this.loadCount = 0;
this.totalRequired = scripts.length;
this.callback = callback;
for (var i = 0; i < scripts.length; i++) {
this.writeScript(scripts[i]);
}
},
loaded: function (evt) {
this.loadCount++;
if (this.loadCount == this.totalRequired && typeof this.callback == 'function') this.callback.call();
},
writeScript: function (src) {
var self = this;
var s = document.createElement('script');
s.type = "text/javascript";
s.async = true;
s.src = src;
s.addEventListener('load', function (e) { self.loaded(e); }, false);
var head = document.getElementsByTagName('head')[0];
head.appendChild(s);
}
}
用法演示
var l = new Loader();
l.require([
"example-script-1.js",
"example-script-2.js"],
function() {
// Callback
console.log('All Scripts Loaded');
});
希望本文所述對大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
全面解析Bootstrap中transition、affix的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中transition、affix的使用方法,感興趣的朋友可以參考一下2016-05-05
在js文件中引入(調(diào)用)另一個(gè)js文件的三種方法
這篇文章主要介紹了在js文件中引入(調(diào)用)另一個(gè)js文件的三種方法,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-09-09
javascript setTimeout和setInterval計(jì)時(shí)的區(qū)別詳解
window對象有兩個(gè)主要的定時(shí)方法,分別是setTimeout 和 setInteval 他們的語法基本上相同,但是完成的功能取有區(qū)別。2013-06-06
setTimeout()與setInterval()方法區(qū)別介紹
計(jì)時(shí)器setTimeout()和setInterval()兩個(gè)都是js的計(jì)時(shí)功能的函數(shù)兩個(gè)有些區(qū)別,下面為大家簡單介紹下,希望對大家有所幫助2013-12-12
VScode中配置JavaScript編譯環(huán)境的方法
這篇文章主要介紹了VSCODE中配置JavaScript編譯環(huán)境的方法,方式一 使用Node.js做為解釋器運(yùn)行JS代碼 Node.js的安裝和配置,方式二使用VSCODE插件Code Runner運(yùn)行JS代碼,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

