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

(0)

相关推荐

  • javascript将异步校验表单改写为同步表单

    同步表单校验的缺点 响应错误信息时,需要重新加载整个页面(虽然有缓存,客户端仍然需要通过http协议对比每个文件是否有更新,以保持文件最新) 服务器响应错误以后,用户之前所输入的信息全部丢失了,用户需要从头开始填写(部分浏览器帮我们缓存了这些数据) 异步校验表单的初衷 提升用户体验 最大化减少网络请求,减轻服务器压力 下面我们看一个常见的异步表单校验(校验工号在后台是否存在,存在为有效工号) 校验工号 复制代码 代码如下: var BASE_PATH = '${rc.contextPath}';

  • 深入理解JavaScript编程中的同步与异步机制

    JavaScript的优势之一是其如何处理异步代码.异步代码会被放入一个事件队列,等到所有其他代码执行后才进行,而不会阻塞线程.然而,对于初学者来说,书写异步代码可能会比较困难.而在这篇文章里,我将会消除你可能会有的任何困惑. 理解异步代码 JavaScript最基础的异步函数是setTimeout和setInterval.setTimeout会在一定时间后执行给定的函数.它接受一个回调函数作为第一参数和一个毫秒时间作为第二参数.以下是用法举例: console.log( "a" );

  • javascript 文件的同步加载与异步加载实现原理

    HTML 4.01 的script属性 charset: 可选.指定src引入代码的字符集,大多数浏览器忽略该值. defer: boolean, 可选.延迟脚本执行,相当于将script标签放入页面body标签的底部,js脚本会在document的DOMContentLoaded之前执行.除IE和较新版本的Firefox外,其他浏览器并未支持. language: 已废弃.大部分浏览器会忽略该值. src: 可选.指定引入的外部代码文件,不限制后缀名. type: 必选.指定脚本的内容类型(M

  • JavaScript系列之―同步还是异步?

    从今天开始,我会不定期的写一些关于JavaScript的东西,包括语言,应用等方面.组成JavaScript系列. 如果没有特殊的说明,这里假定JavaScript的执行环境是在浏览器(browser)当中的. 今天开始第一次,讨论一下同步和异步. 曾经查询过一些JavaScript的信息,发现google出来的结果都是询问JavaScript如何能够实现异步的代码. 而我,很不幸,查询的却是如何让JavaScript实现异步调用的同步(是不是挺起来很诡异). 首先说一下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 Ty

  • JavaScript仿百度图片浏览效果

    本文实例为大家分享了js图片浏览效果的具体代码,供大家参考,具体内容如下 在线地址:http://www.hui12.com/nbin/demo/imgskim/index.html https://nbin2008.github.io/demo/imgskim/index.html 效果图: index <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>仿

  • js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果

    本文实例讲述了js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果.分享给大家供大家参考.具体如下: 这是一款可在同一页面中多次调用的TAB选项卡代码,仿百度风云榜的TAB切换效果,用到了几张修饰图片,请顺着代码下载所需的图片,然后上传到你的网站中,修改代码内的路径就可以用了. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-f-baidu-style-tab-cha-codes/ 具体代码如下: <!DOCTYPE html PUBL

  • 基于JS实现仿百度百家主页的轮播图效果

    HTML <div class="ShowEntry"> <!-- <div id="widget_content_player" class="Player" alog-group="log-player">--> <!--------- 右击箭头---------> <a href="javascript:void(0);" rel="ex

  • js实现仿百度瀑布流的方法

    本文实例讲述了js实现仿百度瀑布流的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>仿百度图片瀑布流</title> <link rel="stylesheet" type="text/css" href="style.css"&g

  • iOS 仿百度外卖-首页重力感应的实例

    今天带来的是仿百度外卖首页的重力感应..(由于只能真机测试,手里测试机只有5s,所以有些地方并没有适配其他机型,需要的还需要根据真机自行适配) 来简单说下实现吧,之前重力感应都是用UIAccelerometer实现的,但是,好像是从iOS 4 以后,这个方法就废弃了,它被直接封装到了CoreMotion框架中,所以现在有关重力感应,加速计什么的都需要通过CoreMotion框架实现,这也算是苹果对于重力感应的整合吧.本文对CoreMotion框架只是进行了简单的使用,想要更深的使用,还是请自行

  • jQuery实现的仿百度分页足迹效果代码

    本文实例讲述了jQuery实现的仿百度分页足迹效果代码.分享给大家供大家参考,具体如下: 这是一个类似于百度的分页足迹效果,基于jquery,原理就是所有为奇数的足迹元素给不一样的样式而已,其它的非奇数元素就按默认的样式. 参数说明: obj为所有奇数元素 even当前所要点击触发事件 bg为足迹元素 active_bg为点击后的足迹背景 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-f-baidu-page-style-code

  • js实现仿百度汽车频道选择汽车图片展示实例

    本文实例讲述了js实现仿百度汽车频道选择汽车图片展示的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&

  • JS实现仿百度文库评分功能

    百度文库分享平台大家都知道,今天小编通过一段实例代码给大家介绍基于js实现百度文库评分功能,先给大家展示效果图吧. 具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/

  • JS实现FLASH幻灯片图片切换效果的方法

    本文实例讲述了JS实现FLASH幻灯片图片切换效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh

随机推荐