這篇文章主要介紹了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');
- });
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選