• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > tuzhu_req.js 实现仿百度图片首页效果

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了javascript,异步同步等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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处理文件请求加载异步同步功能有所帮助。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于JQuery和原生JavaScript实现网页定位导航特效
  • JavaScript实现向select下拉框中添加和删除元素的方法
  • JavaScript与JQUERY获取元素的宽、高和位置
  • jqurey+Jscex打造游戏力度条
  • 关于JavaScript和jQuery的类型判断详解
  • Javascript函数中的arguments.callee用法实例分析
  • 如何在JS中实现相互转换XML和JSON
  • 举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
  • jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
  • json格式的javascript对象用法分析

相关文章

  • ajax图片上传,图片异步上传,更新实例
  • jQuery 隔行换色 支持键盘上下键,按Enter选定值
  • 学习从实践开始之jQuery插件开发 菜单插件开发
  • jQuery+css实现炫目的动态块漂移效果
  • PHP+jquery+ajax实现分页
  • jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
  • jquery 将当前时间转换成yyyymmdd格式的实现方法
  • JQuery.get提交页面不跳转的解决方法
  • jQuery技巧总结
  • jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery源码分析之Event事件分析
    • JQuery中上下文选择器实现方法
    • EasyUI中在表单提交之前进行验证
    • jQuery验证插件validation使用指南
    • jQuery使用unlock.js插件实现滑动解锁
    • 基于jquery的实现简单的表格中增加或删除下一行
    • Jquery实现搜索框提示功能示例代码
    • jquery验证邮箱格式是否正确实例讲解
    • jquery load事件(callback/data)使用方法及注意事项
    • JQuery通过Ajax提交表单并返回结果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有