亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prototype.js

?? 很強大一個javascript類庫
?? JS
?? 第 1 頁 / 共 4 頁
字號:
/*  Prototype JavaScript framework, version 1.4.0
 *  (c) 2005 Sam Stephenson <sam@conio.net>
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://prototype.conio.net/
 *
/*--------------------------------------------------------------------------*/

var Prototype = {
  Version: '1.4.0',
  ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',

  emptyFunction: function() {},
  K: function(x) {return x}
}

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

var Abstract = new Object();

Object.extend = function(destination, source) {
  for (property in source) {
    destination[property] = source[property];
  }
  return destination;
}

Object.inspect = function(object) {
  try {
    if (object == undefined) return 'undefined';
    if (object == null) return 'null';
    return object.inspect ? object.inspect() : object.toString();
  } catch (e) {
    if (e instanceof RangeError) return '...';
    throw e;
  }
}

Function.prototype.bind = function() {
  var __method = this, args = $A(arguments), object = args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}

Function.prototype.bindAsEventListener = function(object) {
  var __method = this;
  return function(event) {
    return __method.call(object, event || window.event);
  }
}

Object.extend(Number.prototype, {
  toColorPart: function() {
    var digits = this.toString(16);
    if (this < 16) return '0' + digits;
    return digits;
  },

  succ: function() {
    return this + 1;
  },

  times: function(iterator) {
    $R(0, this, true).each(iterator);
    return this;
  }
});

var Try = {
  these: function() {
    var returnValue;

    for (var i = 0; i < arguments.length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) {}
    }

    return returnValue;
  }
}

/*--------------------------------------------------------------------------*/

var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {
  initialize: function(callback, frequency) {
    this.callback = callback;
    this.frequency = frequency;
    this.currentlyExecuting = false;

    this.registerCallback();
  },

  registerCallback: function() {
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting = true;
        this.callback();
      } finally {
        this.currentlyExecuting = false;
      }
    }
  }
}

/*--------------------------------------------------------------------------*/

function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}
Object.extend(String.prototype, {
  stripTags: function() {
    return this.replace(/<\/?[^>]+>/gi, '');
  },

  stripScripts: function() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
  },

  extractScripts: function() {
    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  },

  evalScripts: function() {
    return this.extractScripts().map(eval);
  },

  escapeHTML: function() {
    var div = document.createElement('div');
    var text = document.createTextNode(this);
    div.appendChild(text);
    return div.innerHTML;
  },

  unescapeHTML: function() {
    var div = document.createElement('div');
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
  },

  toQueryParams: function() {
    var pairs = this.match(/^\??(.*)$/)[1].split('&');
    return pairs.inject({}, function(params, pairString) {
      var pair = pairString.split('=');
      params[pair[0]] = pair[1];
      return params;
    });
  },

  toArray: function() {
    return this.split('');
  },

  camelize: function() {
    var oStringList = this.split('-');
    if (oStringList.length == 1) return oStringList[0];

    var camelizedString = this.indexOf('-') == 0
      ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
      : oStringList[0];

    for (var i = 1, len = oStringList.length; i < len; i++) {
      var s = oStringList[i];
      camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
    }

    return camelizedString;
  },

  inspect: function() {
    return "'" + this.replace('\\', '\\\\').replace("'", '\\\'') + "'";
  }
});

String.prototype.parseQuery = String.prototype.toQueryParams;

var $break    = new Object();
var $continue = new Object();

var Enumerable = {
  each: function(iterator) {
    var index = 0;
    try {
      this._each(function(value) {
        try {
          iterator(value, index++);
        } catch (e) {
          if (e != $continue) throw e;
        }
      });
    } catch (e) {
      if (e != $break) throw e;
    }
  },

  all: function(iterator) {
    var result = true;
    this.each(function(value, index) {
      result = result && !!(iterator || Prototype.K)(value, index);
      if (!result) throw $break;
    });
    return result;
  },

  any: function(iterator) {
    var result = true;
    this.each(function(value, index) {
      if (result = !!(iterator || Prototype.K)(value, index))
        throw $break;
    });
    return result;
  },

  collect: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      results.push(iterator(value, index));
    });
    return results;
  },

  detect: function (iterator) {
    var result;
    this.each(function(value, index) {
      if (iterator(value, index)) {
        result = value;
        throw $break;
      }
    });
    return result;
  },

  findAll: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      if (iterator(value, index))
        results.push(value);
    });
    return results;
  },

  grep: function(pattern, iterator) {
    var results = [];
    this.each(function(value, index) {
      var stringValue = value.toString();
      if (stringValue.match(pattern))
        results.push((iterator || Prototype.K)(value, index));
    })
    return results;
  },

  include: function(object) {
    var found = false;
    this.each(function(value) {
      if (value == object) {
        found = true;
        throw $break;
      }
    });
    return found;
  },

  inject: function(memo, iterator) {
    this.each(function(value, index) {
      memo = iterator(memo, value, index);
    });
    return memo;
  },

  invoke: function(method) {
    var args = $A(arguments).slice(1);
    return this.collect(function(value) {
      return value[method].apply(value, args);
    });
  },

  max: function(iterator) {
    var result;
    this.each(function(value, index) {
      value = (iterator || Prototype.K)(value, index);
      if (value >= (result || value))
        result = value;
    });
    return result;
  },

  min: function(iterator) {
    var result;
    this.each(function(value, index) {
      value = (iterator || Prototype.K)(value, index);
      if (value <= (result || value))
        result = value;
    });
    return result;
  },

  partition: function(iterator) {
    var trues = [], falses = [];
    this.each(function(value, index) {
      ((iterator || Prototype.K)(value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  },

  pluck: function(property) {
    var results = [];
    this.each(function(value, index) {
      results.push(value[property]);
    });
    return results;
  },

  reject: function(iterator) {
    var results = [];
    this.each(function(value, index) {
      if (!iterator(value, index))
        results.push(value);
    });
    return results;
  },

  sortBy: function(iterator) {
    return this.collect(function(value, index) {
      return {value: value, criteria: iterator(value, index)};
    }).sort(function(left, right) {
      var a = left.criteria, b = right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  },

  toArray: function() {
    return this.collect(Prototype.K);
  },

  zip: function() {
    var iterator = Prototype.K, args = $A(arguments);
    if (typeof args.last() == 'function')
      iterator = args.pop();

    var collections = [this].concat(args).map($A);
    return this.map(function(value, index) {
      iterator(value = collections.pluck(index));
      return value;
    });
  },

  inspect: function() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }
}

Object.extend(Enumerable, {
  map:     Enumerable.collect,
  find:    Enumerable.detect,
  select:  Enumerable.findAll,
  member:  Enumerable.include,
  entries: Enumerable.toArray
});
var $A = Array.from = function(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) {
    return iterable.toArray();
  } else {
    var results = [];
    for (var i = 0; i < iterable.length; i++)
      results.push(iterable[i]);
    return results;
  }
}

Object.extend(Array.prototype, Enumerable);

Array.prototype._reverse = Array.prototype.reverse;

Object.extend(Array.prototype, {
  _each: function(iterator) {
    for (var i = 0; i < this.length; i++)
      iterator(this[i]);
  },

  clear: function() {
    this.length = 0;
    return this;
  },

  first: function() {
    return this[0];
  },

  last: function() {
    return this[this.length - 1];
  },

  compact: function() {
    return this.select(function(value) {
      return value != undefined || value != null;
    });
  },

  flatten: function() {
    return this.inject([], function(array, value) {
      return array.concat(value.constructor == Array ?
        value.flatten() : [value]);
    });
  },

  without: function() {
    var values = $A(arguments);
    return this.select(function(value) {
      return !values.include(value);
    });
  },

  indexOf: function(object) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一二三| 在线观看成人免费视频| 欧美在线免费视屏| 日本一区二区三区在线观看| 婷婷开心激情综合| 色国产精品一区在线观看| 久久精品男人天堂av| 日韩高清在线电影| 欧美在线视频日韩| 亚洲免费观看高清在线观看| 国产一区久久久| 日韩一区二区电影网| 一区二区三区日韩精品视频| a级精品国产片在线观看| 久久综合久久综合亚洲| 男女性色大片免费观看一区二区| 欧美曰成人黄网| 亚洲欧美一区二区三区极速播放| 成人免费视频播放| 国产午夜精品久久久久久久 | 亚洲一二三四区不卡| 99久久国产综合精品色伊| 欧美经典三级视频一区二区三区| 国产一区二区三区免费观看| 日韩一区二区三区视频在线 | 亚洲综合av网| 色婷婷激情综合| 一区二区三区欧美亚洲| 91久久线看在观草草青青| 国产精品久久久久三级| av亚洲精华国产精华精华| 国产精品美女久久久久久久网站| 成人精品国产免费网站| 国产精品丝袜黑色高跟| 99久久久无码国产精品| 亚洲欧洲综合另类| 欧美性色黄大片手机版| 天堂影院一区二区| 94-欧美-setu| 亚洲欧美福利一区二区| 国产欧美日韩不卡| 日本sm残虐另类| 日韩一级完整毛片| 韩国毛片一区二区三区| 国产欧美日韩精品一区| 99国产精品99久久久久久| 又紧又大又爽精品一区二区| 欧美久久久久久蜜桃| 另类调教123区| 国产精品久久久久桃色tv| 欧美最新大片在线看| 美日韩一级片在线观看| 中文字幕免费不卡在线| 欧美少妇bbb| 韩国欧美一区二区| 亚洲人一二三区| 欧美一区永久视频免费观看| 国产传媒欧美日韩成人| 亚洲一二三四在线| 久久亚洲欧美国产精品乐播| 色综合中文字幕| 日本成人在线网站| 欧美不卡在线视频| 国产成人在线视频播放| 亚洲精品中文字幕在线观看| 日韩一区二区三| 成人h动漫精品一区二区| 天堂av在线一区| 中文字幕巨乱亚洲| 91精品国产综合久久精品麻豆| 国产**成人网毛片九色| 日韩国产一区二| 日韩一区有码在线| 精品国产电影一区二区| 色爱区综合激月婷婷| 国产一区二区三区综合| 亚洲成人动漫在线免费观看| 国产精品丝袜久久久久久app| 在线播放一区二区三区| 91视视频在线观看入口直接观看www| 免费人成精品欧美精品| 亚洲你懂的在线视频| 国产亚洲制服色| 欧美一区二区三区四区视频| 91麻豆国产福利在线观看| 国产一区美女在线| 日日夜夜精品视频免费| 伊人色综合久久天天| 亚洲国产成人午夜在线一区| 日韩欧美资源站| 欧美老女人在线| 91久久精品一区二区三区| 不卡免费追剧大全电视剧网站| 久久国产欧美日韩精品| 日韩国产欧美在线视频| 亚洲成av人片观看| 亚洲综合色视频| 亚洲欧美日韩国产成人精品影院 | 欧美一区二区三区在| 91成人免费电影| 91香蕉视频污| 暴力调教一区二区三区| 丁香婷婷深情五月亚洲| 国内精品嫩模私拍在线| 精品一区二区av| 精品综合久久久久久8888| 全部av―极品视觉盛宴亚洲| 日韩精品每日更新| 日本aⅴ亚洲精品中文乱码| 日韩黄色在线观看| 欧美aaaaa成人免费观看视频| 秋霞电影网一区二区| 日韩一区欧美二区| 人妖欧美一区二区| 蜜桃精品视频在线观看| 久久99精品久久久久久| 麻豆久久一区二区| 国产美女一区二区| 丁香婷婷综合激情五月色| jlzzjlzz欧美大全| 一本到不卡免费一区二区| 欧美亚洲动漫制服丝袜| 欧美日韩精品是欧美日韩精品| 欧美在线观看你懂的| 91精品国产综合久久小美女| 日韩精品一区二区三区中文不卡| 精品精品国产高清一毛片一天堂| 久久亚洲影视婷婷| 国产精品高清亚洲| 亚洲午夜精品网| 久久se这里有精品| 国产**成人网毛片九色| 色嗨嗨av一区二区三区| 欧美一级理论性理论a| 精品粉嫩超白一线天av| 中文字幕五月欧美| 亚洲成年人网站在线观看| 捆绑调教一区二区三区| 成人少妇影院yyyy| 欧美日韩视频在线观看一区二区三区 | 福利91精品一区二区三区| 91久久精品一区二区二区| 欧美一区二区网站| 中文字幕成人在线观看| 亚洲成a人片综合在线| 精品一区二区在线看| 成人av午夜电影| 69成人精品免费视频| 国产女人18毛片水真多成人如厕| 亚洲综合在线五月| 韩国成人在线视频| 欧美在线free| 国产日韩av一区| 午夜精品久久久久久久久久久| 国产毛片精品视频| 欧美三级电影在线观看| 国产日韩精品一区二区浪潮av| 亚洲电影中文字幕在线观看| 国产v综合v亚洲欧| 日韩午夜激情免费电影| 亚洲欧美国产毛片在线| 国产精品一二三在| 欧美熟乱第一页| 国产精品欧美极品| 狠狠色丁香久久婷婷综合丁香| 欧美日韩在线直播| 国产精品毛片久久久久久久| 美美哒免费高清在线观看视频一区二区 | 图片区小说区区亚洲影院| 99久久伊人精品| 久久综合九色综合97婷婷| 亚洲高清视频在线| 91麻豆国产在线观看| 日本一区免费视频| 国产精品主播直播| 欧美一级二级三级乱码| 性欧美疯狂xxxxbbbb| 色偷偷久久人人79超碰人人澡| 欧美不卡一区二区三区| 免费人成在线不卡| 91精品国产色综合久久| 亚洲国产综合91精品麻豆| 色素色在线综合| 亚洲日本va在线观看| 97aⅴ精品视频一二三区| 国产精品美日韩| 成人午夜av在线| 中文字幕精品一区二区三区精品| 久久99国产精品免费| 日韩欧美一区二区久久婷婷| 日韩影院免费视频| 在线电影院国产精品| 日韩精品久久理论片| 91精品国产黑色紧身裤美女| 视频在线观看一区二区三区| 欧美日韩久久久| 蜜臀av国产精品久久久久| 欧美一级日韩免费不卡| 麻豆一区二区在线| 久久毛片高清国产|