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

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

?? prototype.js

?? ext部分功能
?? JS
?? 第 1 頁 / 共 5 頁
字號:
  },

  evalResponse: function() {
    try {
      return eval((this.transport.responseText || '').unfilterJSON());
    } catch (e) {
      this.dispatchException(e);
    }
  },

  dispatchException: function(exception) {
    (this.options.onException || Prototype.emptyFunction)(this, exception);
    Ajax.Responders.dispatch('onException', this, exception);
  }
});

Ajax.Request.Events =
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Response = Class.create({
  initialize: function(request){
    this.request = request;
    var transport  = this.transport  = request.transport,
        readyState = this.readyState = transport.readyState;

    if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
      this.status       = this.getStatus();
      this.statusText   = this.getStatusText();
      this.responseText = String.interpret(transport.responseText);
      this.headerJSON   = this._getHeaderJSON();
    }

    if(readyState == 4) {
      var xml = transport.responseXML;
      this.responseXML  = Object.isUndefined(xml) ? null : xml;
      this.responseJSON = this._getResponseJSON();
    }
  },

  status:      0,
  statusText: '',

  getStatus: Ajax.Request.prototype.getStatus,

  getStatusText: function() {
    try {
      return this.transport.statusText || '';
    } catch (e) { return '' }
  },

  getHeader: Ajax.Request.prototype.getHeader,

  getAllHeaders: function() {
    try {
      return this.getAllResponseHeaders();
    } catch (e) { return null }
  },

  getResponseHeader: function(name) {
    return this.transport.getResponseHeader(name);
  },

  getAllResponseHeaders: function() {
    return this.transport.getAllResponseHeaders();
  },

  _getHeaderJSON: function() {
    var json = this.getHeader('X-JSON');
    if (!json) return null;
    json = decodeURIComponent(escape(json));
    try {
      return json.evalJSON(this.request.options.sanitizeJSON ||
        !this.request.isSameOrigin());
    } catch (e) {
      this.request.dispatchException(e);
    }
  },

  _getResponseJSON: function() {
    var options = this.request.options;
    if (!options.evalJSON || (options.evalJSON != 'force' &&
      !(this.getHeader('Content-type') || '').include('application/json')) ||
        this.responseText.blank())
          return null;
    try {
      return this.responseText.evalJSON(options.sanitizeJSON ||
        !this.request.isSameOrigin());
    } catch (e) {
      this.request.dispatchException(e);
    }
  }
});

Ajax.Updater = Class.create(Ajax.Request, {
  initialize: function($super, container, url, options) {
    this.container = {
      success: (container.success || container),
      failure: (container.failure || (container.success ? null : container))
    };

    options = Object.clone(options);
    var onComplete = options.onComplete;
    options.onComplete = (function(response, json) {
      this.updateContent(response.responseText);
      if (Object.isFunction(onComplete)) onComplete(response, json);
    }).bind(this);

    $super(url, options);
  },

  updateContent: function(responseText) {
    var receiver = this.container[this.success() ? 'success' : 'failure'],
        options = this.options;

    if (!options.evalScripts) responseText = responseText.stripScripts();

    if (receiver = $(receiver)) {
      if (options.insertion) {
        if (Object.isString(options.insertion)) {
          var insertion = { }; insertion[options.insertion] = responseText;
          receiver.insert(insertion);
        }
        else options.insertion(receiver, responseText);
      }
      else receiver.update(responseText);
    }
  }
});

Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
  initialize: function($super, container, url, options) {
    $super(options);
    this.onComplete = this.options.onComplete;

    this.frequency = (this.options.frequency || 2);
    this.decay = (this.options.decay || 1);

    this.updater = { };
    this.container = container;
    this.url = url;

    this.start();
  },

  start: function() {
    this.options.onComplete = this.updateComplete.bind(this);
    this.onTimerEvent();
  },

  stop: function() {
    this.updater.options.onComplete = undefined;
    clearTimeout(this.timer);
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  },

  updateComplete: function(response) {
    if (this.options.decay) {
      this.decay = (response.responseText == this.lastText ?
        this.decay * this.options.decay : 1);

      this.lastText = response.responseText;
    }
    this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
  },

  onTimerEvent: function() {
    this.updater = new Ajax.Updater(this.container, this.url, this.options);
  }
});
function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (Object.isString(element))
    element = document.getElementById(element);
  return Element.extend(element);
}

if (Prototype.BrowserFeatures.XPath) {
  document._getElementsByXPath = function(expression, parentElement) {
    var results = [];
    var query = document.evaluate(expression, $(parentElement) || document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0, length = query.snapshotLength; i < length; i++)
      results.push(Element.extend(query.snapshotItem(i)));
    return results;
  };
}

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

if (!window.Node) var Node = { };

if (!Node.ELEMENT_NODE) {
  // DOM level 2 ECMAScript Language Binding
  Object.extend(Node, {
    ELEMENT_NODE: 1,
    ATTRIBUTE_NODE: 2,
    TEXT_NODE: 3,
    CDATA_SECTION_NODE: 4,
    ENTITY_REFERENCE_NODE: 5,
    ENTITY_NODE: 6,
    PROCESSING_INSTRUCTION_NODE: 7,
    COMMENT_NODE: 8,
    DOCUMENT_NODE: 9,
    DOCUMENT_TYPE_NODE: 10,
    DOCUMENT_FRAGMENT_NODE: 11,
    NOTATION_NODE: 12
  });
}

(function() {
  var element = this.Element;
  this.Element = function(tagName, attributes) {
    attributes = attributes || { };
    tagName = tagName.toLowerCase();
    var cache = Element.cache;
    if (Prototype.Browser.IE && attributes.name) {
      tagName = '<' + tagName + ' name="' + attributes.name + '">';
      delete attributes.name;
      return Element.writeAttribute(document.createElement(tagName), attributes);
    }
    if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
    return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
  };
  Object.extend(this.Element, element || { });
}).call(window);

Element.cache = { };

Element.Methods = {
  visible: function(element) {
    return $(element).style.display != 'none';
  },

  toggle: function(element) {
    element = $(element);
    Element[Element.visible(element) ? 'hide' : 'show'](element);
    return element;
  },

  hide: function(element) {
    $(element).style.display = 'none';
    return element;
  },

  show: function(element) {
    $(element).style.display = '';
    return element;
  },

  remove: function(element) {
    element = $(element);
    element.parentNode.removeChild(element);
    return element;
  },

  update: function(element, content) {
    element = $(element);
    if (content && content.toElement) content = content.toElement();
    if (Object.isElement(content)) return element.update().insert(content);
    content = Object.toHTML(content);
    element.innerHTML = content.stripScripts();
    content.evalScripts.bind(content).defer();
    return element;
  },

  replace: function(element, content) {
    element = $(element);
    if (content && content.toElement) content = content.toElement();
    else if (!Object.isElement(content)) {
      content = Object.toHTML(content);
      var range = element.ownerDocument.createRange();
      range.selectNode(element);
      content.evalScripts.bind(content).defer();
      content = range.createContextualFragment(content.stripScripts());
    }
    element.parentNode.replaceChild(content, element);
    return element;
  },

  insert: function(element, insertions) {
    element = $(element);

    if (Object.isString(insertions) || Object.isNumber(insertions) ||
        Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
          insertions = {bottom:insertions};

    var content, insert, tagName, childNodes;

    for (var position in insertions) {
      content  = insertions[position];
      position = position.toLowerCase();
      insert = Element._insertionTranslations[position];

      if (content && content.toElement) content = content.toElement();
      if (Object.isElement(content)) {
        insert(element, content);
        continue;
      }

      content = Object.toHTML(content);

      tagName = ((position == 'before' || position == 'after')
        ? element.parentNode : element).tagName.toUpperCase();

      childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());

      if (position == 'top' || position == 'after') childNodes.reverse();
      childNodes.each(insert.curry(element));

      content.evalScripts.bind(content).defer();
    }

    return element;
  },

  wrap: function(element, wrapper, attributes) {
    element = $(element);
    if (Object.isElement(wrapper))
      $(wrapper).writeAttribute(attributes || { });
    else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
    else wrapper = new Element('div', wrapper);
    if (element.parentNode)
      element.parentNode.replaceChild(wrapper, element);
    wrapper.appendChild(element);
    return wrapper;
  },

  inspect: function(element) {
    element = $(element);
    var result = '<' + element.tagName.toLowerCase();
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {
      var property = pair.first(), attribute = pair.last();
      var value = (element[property] || '').toString();
      if (value) result += ' ' + attribute + '=' + value.inspect(true);
    });
    return result + '>';
  },

  recursivelyCollect: function(element, property) {
    element = $(element);
    var elements = [];
    while (element = element[property])
      if (element.nodeType == 1)
        elements.push(Element.extend(element));
    return elements;
  },

  ancestors: function(element) {
    return $(element).recursivelyCollect('parentNode');
  },

  descendants: function(element) {
    return $(element).select("*");
  },

  firstDescendant: function(element) {
    element = $(element).firstChild;
    while (element && element.nodeType != 1) element = element.nextSibling;
    return $(element);
  },

  immediateDescendants: function(element) {
    if (!(element = $(element).firstChild)) return [];
    while (element && element.nodeType != 1) element = element.nextSibling;
    if (element) return [element].concat($(element).nextSiblings());
    return [];
  },

  previousSiblings: function(element) {
    return $(element).recursivelyCollect('previousSibling');
  },

  nextSiblings: function(element) {
    return $(element).recursivelyCollect('nextSibling');
  },

  siblings: function(element) {
    element = $(element);
    return element.previousSiblings().reverse().concat(element.nextSiblings());
  },

  match: function(element, selector) {
    if (Object.isString(selector))
      selector = new Selector(selector);
    return selector.match($(element));
  },

  up: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(element.parentNode);
    var ancestors = element.ancestors();
    return Object.isNumber(expression) ? ancestors[expression] :
      Selector.findElement(ancestors, expression, index);
  },

  down: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return element.firstDescendant();
    return Object.isNumber(expression) ? element.descendants()[expression] :
      element.select(expression)[index || 0];
  },

  previous: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
    var previousSiblings = element.previousSiblings();
    return Object.isNumber(expression) ? previousSiblings[expression] :
      Selector.findElement(previousSiblings, expression, index);
  },

  next: function(element, expression, index) {
    element = $(element);
    if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
    var nextSiblings = element.nextSiblings();
    return Object.isNumber(expression) ? nextSiblings[expression] :
      Selector.findElement(nextSiblings, expression, index);
  },

  select: function() {
    var args = $A(arguments), element = $(args.shift());
    return Selector.findChildElements(element, args);
  },

  adjacent: function() {
    var args = $A(arguments), element = $(args.shift());
    return Selector.findChildElements(element.parentNode, args).without(element);
  },

  identify: function(element) {
    element = $(element);
    var id = element.readAttribute('id'), self = arguments.callee;
    if (id) return id;
    do { id = 'anonymous_element_' + self.counter++ } while ($(id));
    element.writeAttribute('id', id);
    return id;
  },

  readAttribute: function(element, name) {
    element = $(element);
    if (Prototype.Browser.IE) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一二三四区精品视频| 东方欧美亚洲色图在线| 黑人精品欧美一区二区蜜桃| 91一区二区三区在线观看| 精品精品国产高清一毛片一天堂| 亚洲欧美韩国综合色| 粉嫩一区二区三区在线看| 欧美人妖巨大在线| 一区二区三区不卡视频在线观看| 国产成人精品免费在线| 制服丝袜在线91| 一区二区三区四区激情| av中文字幕不卡| 国产日韩v精品一区二区| 日本三级亚洲精品| 制服丝袜激情欧洲亚洲| 亚洲一区在线观看免费观看电影高清 | 奇米色777欧美一区二区| 91丨九色丨蝌蚪丨老版| 国产精品久久久久婷婷| 国产一区二区美女| 精品免费国产二区三区 | 欧美日本一区二区在线观看| 亚洲欧洲色图综合| 波多野结衣在线aⅴ中文字幕不卡| 精品国产成人系列| 国产一区二区福利视频| 欧美成人a视频| 久久精品av麻豆的观看方式| 日韩午夜在线观看| 免费三级欧美电影| 日韩你懂的在线播放| 九九国产精品视频| 久久免费的精品国产v∧| 国产成人av电影| 久久久国产一区二区三区四区小说| 国产精品一区二区果冻传媒| 久久久久久99久久久精品网站| 国内精品免费**视频| 久久毛片高清国产| heyzo一本久久综合| 一区二区在线观看视频在线观看| 欧日韩精品视频| 日本午夜精品视频在线观看 | 日韩一区二区三区视频| 免费看日韩a级影片| 欧美成人艳星乳罩| 成人sese在线| 亚洲一区二区免费视频| 91麻豆精品国产91久久久| 久久精品国产成人一区二区三区| 久久一夜天堂av一区二区三区| 国产福利一区二区三区在线视频| 亚洲国产精品ⅴa在线观看| 99久久国产综合色|国产精品| 一区二区三区资源| 欧美一级免费观看| 丁香激情综合五月| 亚洲国产精品一区二区www在线| 精品日韩一区二区三区免费视频| 成人a级免费电影| 亚洲午夜精品网| 久久亚洲影视婷婷| 一本色道久久加勒比精品| 麻豆精品一二三| 成人免费在线观看入口| 91精品国产麻豆国产自产在线| 国产成人精品免费在线| 视频一区免费在线观看| 欧美国产一区二区在线观看| 欧美体内she精高潮| 国产成人精品影视| 日韩avvvv在线播放| 1000精品久久久久久久久| 91精品在线麻豆| 99精品黄色片免费大全| 蓝色福利精品导航| 亚洲一区二区3| 日本一区二区成人| 日韩一区二区电影网| 在线视频综合导航| 成人av在线一区二区| 久久精品国产亚洲5555| 亚洲国产精品欧美一二99| 国产精品电影一区二区三区| 日韩欧美视频一区| 欧美日韩精品一二三区| 99久久精品国产导航| 国产一区不卡视频| 久久精品国产久精国产爱| 亚洲va天堂va国产va久| 亚洲色图另类专区| 国产女人aaa级久久久级 | 中文字幕一区二区三区蜜月| 日韩精品中文字幕在线一区| 欧美亚洲精品一区| 99国产精品久久| 成人av午夜影院| 国产一区二区三区精品视频| 麻豆免费看一区二区三区| 天天av天天翘天天综合网| 亚洲激情成人在线| 亚洲日本欧美天堂| 日韩码欧中文字| 1024成人网| 亚洲视频免费看| 亚洲欧美综合另类在线卡通| 国产午夜精品一区二区三区嫩草 | 欧美日韩黄视频| 色一区在线观看| 色综合天天综合色综合av| 成人国产精品免费观看视频| 成人国产视频在线观看| 99re热这里只有精品视频| 成人性生交大合| 97久久超碰精品国产| av中文字幕一区| 色噜噜狠狠成人中文综合| 色视频成人在线观看免| 色婷婷久久久综合中文字幕| 91麻豆文化传媒在线观看| 91久久国产最好的精华液| 欧美日韩一区二区在线观看| 91麻豆精品国产| 2024国产精品视频| 国产欧美日本一区视频| 亚洲天堂久久久久久久| 亚洲一区二区三区四区在线免费观看 | 日韩一区中文字幕| 一区二区三区四区在线| 日韩av一区二区在线影视| 麻豆精品视频在线观看免费| 国产91在线观看| 色综合视频在线观看| 欧美精品日韩一区| 精品日本一线二线三线不卡 | 日韩一区二区三区电影| 精品电影一区二区三区| 国产欧美va欧美不卡在线| 亚洲精品伦理在线| 蜜桃视频在线观看一区| 成人视屏免费看| 欧美日韩亚洲丝袜制服| 欧美xxx久久| 亚洲色图另类专区| 美女网站色91| 91香蕉视频在线| 日韩亚洲欧美在线| 一区在线中文字幕| 日本sm残虐另类| 91热门视频在线观看| 69堂精品视频| 亚洲图片欧美激情| 国产一区二区导航在线播放| 91高清在线观看| 久久久精品日韩欧美| 亚洲大片精品永久免费| 国产成人在线影院| 欧美老女人在线| 国产精品久久久久影视| 久久精品国内一区二区三区| 在线观看成人小视频| 国产亚洲午夜高清国产拍精品| 亚洲国产精品久久人人爱蜜臀| 国产传媒日韩欧美成人| 欧美理论在线播放| 一区二区三区精品在线观看| 国产成人在线视频网站| 欧美一区二区大片| 尤物视频一区二区| av成人老司机| 国产日韩欧美一区二区三区乱码 | 精品三级av在线| 香蕉影视欧美成人| 一本到三区不卡视频| 国产欧美日韩激情| 国产精品99久久久久久久女警| 6080日韩午夜伦伦午夜伦| 亚洲色图在线播放| av一区二区三区四区| 国产亚洲综合av| 国产精品一区二区在线观看网站 | 久久黄色级2电影| 91麻豆精品国产91久久久资源速度 | 日韩一区二区电影在线| 亚洲成人激情综合网| 欧洲国内综合视频| 亚洲美女屁股眼交3| jizzjizzjizz欧美| 综合久久综合久久| av在线播放不卡| 亚洲三级在线免费| 色屁屁一区二区| 一区二区高清在线| 在线视频综合导航| 亚洲成人动漫精品| 欧美日韩国产bt| 免费观看在线综合色| 亚洲精品一区二区在线观看| 国内久久精品视频|