Welcome 微信登录

首页 / 脚本样式 / JavaScript / tuzhu_req.js 实现仿百度图片首页效果

tuzhu_req.js 处理文件请求加载异步同步功能,仿效百度图片首页效果制作
/*土著人开发的require组件 @土著人 (http://www.tuzhuren.com)*/! function() {function e() {}Function.prototype.bind || (Function.prototype.bind = function(t) {var n = this;if ("function" != typeof n)throw new TypeError("Function.prototype.bind called on incompatible " + n);var o = r.call(arguments, 1),i = function() {if (this instanceof i) {var e = n.apply(this, o.concat(r.call(arguments)));return Object(e) === e ? e : this;}return n.apply(t, o.concat(r.call(arguments)));};return n.prototype && (e.prototype = n.prototype, i.prototype = new e, e.prototype = null), i;});var t = Array.prototype,r = t.slice;}();var require, define;! function(e) {function t(e, t) {if (!(e in u)) {u[e] = !0;var r = document.createElement("script");if (t) {var o = setTimeout(t, require.timeout);r.onerror = function() {clearTimeout(o), t()}, r.onreadystatechange = function() {"complete" == this.readyState && clearTimeout(o)}}return r.type = "text/javascript", r.src = e, n.appendChild(r), r;}} 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处理文件请求加载异步同步功能有所帮助。