tuzhu_req.js 实现仿百度图片首页效果

前端之家收集整理的这篇文章主要介绍了tuzhu_req.js 实现仿百度图片首页效果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

tuzhu_req.js 处理文件请求加载异步同步功能,仿效百度图片首页效果制作

function r(e,r,n) {
var i = o[e] || (o[e] = []);
i.push(r);
var a,u = c[e] || {},s = u.pkg;
a = s ? p[s].url : u.url || e,t(a,n && function() {
n(e);
});
}
function isFunction(it) {
return Object.prototype.toString.call(it) === '[object Function]';
}
function isArray(it) {
return Object.prototype.toString.call(it) === '[object Array]';
}
var n = document.getElementsByTagName("head")[0],o = {},i = {},a = {},u = {},c = {},p = {};
define = function(name,deps,callback) {
if (isArray(deps) && isFunction(callback)) {
deps = callback;
}
i[name] = deps;
var r = o[e];
if (r) {
for (var n = 0,a = r.length; a > n; ++n)
r[n]();
delete o[name];
}
},require = function(e) {
e = require.alias(e);
var t = a[e];
if (t)
return t.exports;
var r = i[e];
if (!r)
return false;
t = a[e] = {
exports: {}
};
var n = "function" == typeof r ? r.apply(t,[require,t.exports,t]) : r;
return n && (t.exports = n),t.exports;
},require.async = function(t,n,o) {
function a(e) {
for (var t = e.length - 1; t >= 0; --t) {
var n = e[t],p = c[n];
p && "deps" in p && a(p.deps),n in i || n in s || (s[n] = !0,l++,r(n,u,o));
}
}

function u() {
  if (0 == l--) {
    var r,o,i = [];
    for (r = 0,o = t.length; o > r; ++r)
      try {
        i[r] = require(t[r])
      } catch (a) {}
    n && n.apply(e,i);
  }
}
"string" == typeof t && (t = [t]);
for (var p = t.length - 1; p >= 0; --p)
  t[p] = require.alias(t[p]);
var s = {},l = 0;
a(t),u();

},require.resourceMap = function(e) {
var t,r;
r = e.res;
for (t in r)
r.hasOwnProperty(t) && (c[t] = r[t]);
r = e.pkg;
for (t in r)
r.hasOwnProperty(t) && (p[t] = r[t]);
},require.loadJs = function(e) {
t(e);
},require.loadCss = function(e) {
if (e.content) {
var t = document.createElement("style");
t.type = "text/css",t.styleSheet ? t.styleSheet.cssText = e.content : t.innerHTML = e.content,n.appendChild(t);
} else if (e.url) {
var r = document.createElement("link");
r.href = e.url,r.rel = "stylesheet",r.type = "text/css",n.appendChild(r);
}
},require.alias = function(e) {
return e
},require.timeout = 5e3,define.amd = {
jQuery: !0,version: "1.0.0"
}
}(this);
! function() {
(function() {
var widgets = [],nameIdxMap = {},callbacks = [],remainings = 0;
require.widget = {
register: function(name) {
var idx = nameIdxMap[name];
if (idx == undefined) {
nameIdxMap[name] = widgets.length;
widgets.push(1);
remainings++;
} else {
widgets[idx]++;
}
},ready: function(callback,ctx) {
callbacks.push({
func: callback,context: ctx
});
if (remainings < 1) {
_ready();
}
},loaded: function(name) {
var idx = nameIdxMap[name],num = widgets[idx] - 1;

   widgets[idx] = num;
   if (num == 0 && remainings) {
     remainings--;
   }

   if (remainings < 1) {
     _ready();
   }
 }

};

function _ready() {
var callback;
while (callback = callbacks.pop()) {
callback.func.call(callback.ctx);
}
}
})();
}();

希望本文能够给大家学习使用javascript处理文件请求加载异步同步功能有所帮助。

猜你在找的JavaScript相关文章