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

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

?? prototype.js

?? 用來在地圖上做操作GIS,在地圖上做標記
?? JS
?? 第 1 頁 / 共 5 頁
字號:
});Array.prototype.toArray = Array.prototype.clone;/** * Splits a string into an Array, treating all whitespace as delimiters. Equivalent to Ruby's %w{foo bar} or Perl's qw(foo bar). * @alias $w * @param {String} string	String to split into an array * @return {Array} Returns an array. */function $w(string) {  string = string.strip();  return string ? string.split(/\s+/) : [];}if (Prototype.Browser.Opera){  Array.prototype.concat = function() {    var array = [];    for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);    for (var i = 0, length = arguments.length; i < length; i++) {      if (arguments[i].constructor == Array) {        for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)          array.push(arguments[i][j]);      } else {        array.push(arguments[i]);      }    }    return array;  }}/** * @classDescription Hash can be thought of as an associative array, binding unique keys to values (which are not necessarily unique), though it can not guarantee consistent order its elements when iterating. Because of the nature of JavaScript programming language, every object is in fact a hash; but Hash adds a number of methods that let you enumerate keys and values, iterate over key/value pairs, merge two hashes together, encode the hash into a query string representation, etc. */var Hash = function(object) {  if (object instanceof Hash) this.merge(object);  else Object.extend(this, object || {});};Object.extend(Hash, {  toQueryString: function(obj) {    var parts = [];    parts.add = arguments.callee.addPair;    this.prototype._each.call(obj, function(pair) {      if (!pair.key) return;      var value = pair.value;      if (value && typeof value == 'object') {        if (value.constructor == Array) value.each(function(value) {          parts.add(pair.key, value);        });        return;      }      parts.add(pair.key, value);    });    return parts.join('&');  },  /**   * Returns a JSON string.   * @alias Hash.toJSON   * @param {Object} object	Object to convert to JSON string.   * @return {Object} Returns a JSON string.   */  toJSON: function(object) {    var results = [];    this.prototype._each.call(object, function(pair) {      var value = Object.toJSON(pair.value);      if (value !== undefined) results.push(pair.key.toJSON() + ': ' + value);    });    return '{' + results.join(', ') + '}';  }});Hash.toQueryString.addPair = function(key, value, prefix) {  key = encodeURIComponent(key);  if (value === undefined) this.push(key);  else this.push(key + '=' + (value == null ? '' : encodeURIComponent(value)));}Object.extend(Hash.prototype, Enumerable);Object.extend(Hash.prototype, {  _each: function(iterator) {    for (var key in this) {      var value = this[key];      if (value && value == Hash.prototype[key]) continue;      var pair = [key, value];      pair.key = key;      pair.value = value;      iterator(pair);    }  },  /**   Creates an array of the keys in a hash.  * @alias Hash.keys  * @return {Array} Returns an array of keys.  */  keys: function() {    return this.pluck('key');  },  /**  * Creates an array of the values in a hash.  * @alias Hash.values  * @return {Array} Returns an array of values.  */  values: function() {    return this.pluck('value');  },  /**  * Merges this hash with the specified hash.  * @alias Hash.merge()  * @param {Object} hash	Hash to merge with.  * @return {Object} Returns the merged hash.  */  merge: function(hash) {    return $H(hash).inject(this, function(mergedHash, pair) {      mergedHash[pair.key] = pair.value;      return mergedHash;    });  },  /**   * Removes keys from a hash and returns their values.   * @alias Hash.remove   * @return {Array} Returns an array of values.   */  remove: function() {    var result;    for(var i = 0, length = arguments.length; i < length; i++) {      var value = this[arguments[i]];      if (value !== undefined){        if (result === undefined) result = value;        else {          if (result.constructor != Array) result = [result];          result.push(value)        }      }      delete this[arguments[i]];    }    return result;  },  /**  * Returns the keys and values of a hash formatted into a query string. (e.g. 'key1=value1&key2=value2')  * @alias Hash.toQueryString  * @return {String} Returns a query string version of the hash.  */  toQueryString: function() {    return Hash.toQueryString(this);  },  /**  * Formats the hash into a human-readable string of key:value pairs.  * @alias Hash.inspect  * @return {String} Returns a string version of the key:value pairs of the hash.  */  inspect: function() {    return '#<Hash:{' + this.map(function(pair) {      return pair.map(Object.inspect).join(': ');    }).join(', ') + '}>';  },  /**   * Returns a JSON string.   * @alias Hash.toJSON   * @return {String} Returns a JSON string.   */  toJSON: function() {    return Hash.toJSON(this);  }});/** * Converts the argument "object" into a hash. * @alias $H * @param {Object} object	Object to be converted to a hash. * @return {Object} Returns a hash object. */function $H(object) {  if (object instanceof Hash) return object;  return new Hash(object);};// Safari iterates over shadowed propertiesif (function() {  var i = 0, Test = function(value) { this.key = value };  Test.prototype.key = 'foo';  for (var property in new Test('bar')) i++;  return i > 1;}()) Hash.prototype._each = function(iterator) {  var cache = [];  for (var key in this) {    var value = this[key];    if ((value && value == Hash.prototype[key]) || cache.include(key)) continue;    cache.push(key);    var pair = [key, value];    pair.key = key;    pair.value = value;    iterator(pair);  }};ObjectRange = Class.create();Object.extend(ObjectRange.prototype, Enumerable);Object.extend(ObjectRange.prototype, {  initialize: function(start, end, exclusive) {    this.start = start;    this.end = end;    this.exclusive = exclusive;  },  _each: function(iterator) {    var value = this.start;    while (this.include(value)) {      iterator(value);      value = value.succ();    }  },  /**  * Checks if the specified value is included in the range.  * @alias ObjectRange.include  * @param {Object} value	Value to search for.  * @return {Boolean} Returns true if the value is included in the range.  */  include: function(value) {    if (value < this.start)      return false;    if (this.exclusive)      return value < this.end;    return value <= this.end;  }});/** * Creates a new ObjectRange using the specified bounds. * @alias $R * @param {Object} start	Start point of the range. * @param {Object} end	End point of the range. * @param {Boolean} exclusive	If true, indicates that the start and end points should be excluded from the ObjectRange. * @constructor * @return {ObjectRange} Returns a new ObjectRange. */var $R = function(start, end, exclusive) {  return new ObjectRange(start, end, exclusive);}/** * @classDescription Prototype offers several objects to deal with AJAX communication. With Prototype, going Ajaxy is downright simple! All objects share a common set of options, which are discussed separately. */var Ajax = {   /** * Creates a new XMLHttpRequest object. * @alias Ajax.getTransport * @return {XMLHttpRequest} Returns a new XMLHttpRequest object. */  getTransport: function() {    return Try.these(      function() {return new XMLHttpRequest()},      function() {return new ActiveXObject('Msxml2.XMLHTTP')},      function() {return new ActiveXObject('Microsoft.XMLHTTP')}    ) || false;  },  activeRequestCount: 0}Ajax.Responders = {  /**  * Array of objects that are registered for AJAX event notifications.  * @alias Ajax.responders  */  responders: [],  _each: function(iterator) {    this.responders._each(iterator);  },  /**  * Calls the methods associated with the responderToAdd object when the corresponding event occurs.  * @alias Ajax.Responders.register  * @param {Object} responderToAdd	Object containing the methods to call. Should be named the same as the appropriate AJAX event.  * @extends {Enumerable}  */  register: function(responder) {    if (!this.include(responder))      this.responders.push(responder);  },  /**  * Removes the responderToRemove object from the list of registered objects.  * @alias Ajax.Responders.unregister  * @param {Object} responderToRemove  * @extends {Enumerable}  */  unregister: function(responder) {    this.responders = this.responders.without(responder);  },  /**  * For each object in the list, calls the method specified in callback using request, transport, and json as arguments.  * @alias Ajax.Responders.dispatch  * @param {Object} callback	Name of the AJAX event.  * @param {Object} request	Ajax.Request object responsible for the event.  * @param {Object} transport	XMLHttpRequest object that carries the AJAX call.  * @param {Object} json	X-JSON header of the response.  * @extends {Enumerable}  */  dispatch: function(callback, request, transport, json) {    this.each(function(responder) {      if (typeof responder[callback] == 'function') {        try {          responder[callback].apply(responder, [request, transport, json]);        } catch (e) {}      }    });  }};Object.extend(Ajax.Responders, Enumerable);Ajax.Responders.register({  onCreate: function() {    Ajax.activeRequestCount++;  },  onComplete: function() {    Ajax.activeRequestCount--;  }});/** * @classDescription Base class for most other classes defined by the Ajax object. * @constructor */Ajax.Base = function() {};Ajax.Base.prototype = {    /**  * Sets the options for an AJAX operation.  * @alias Ajax.Base.setOptions  * @param {Object} options	Options to set for the operation.  */  setOptions: function(options) {    this.options = {      method:       'post',      asynchronous: true,      contentType:  'application/x-www-form-urlencoded',      encoding:     'UTF-8',      parameters:   ''    }    Object.extend(this.options, options || {});    this.options.method = this.options.method.toLowerCase();    if (typeof this.options.parameters == 'string')      this.options.parameters = this.options.parameters.toQueryParams();  }}/** * @classDescription Contains properties and methods to compose an AJAX request to send to the server. * @constructor * @alias Ajax.Request */Ajax.Request = Class.create();/** * List of possible events and statuses associated with an AJAX operation. * @extends {Ajax.Base} */Ajax.Request.Events =  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];Ajax.Request.prototype = Object.extend(new Ajax.Base(), {  _complete: false,  /**  * Inititializes a new Ajax request.  * @alias Ajax.Request.initialize  * @param {Object} url	URL target for the request.  * @param {Object} options	Options to set.  * @extends {Ajax.Base}  */  initialize: function(url, options) {    this.transport = Ajax.getTransport();    this.setOptions(options);    this.request(url);  },  request: function(url) {    this.url = url;    this.method = this.options.method;    var params = Object.clone(this.options.parameters);    if (!['get', 'post'].include(this.method)) {      // simulate other verbs over post      params['_method'] = this.method;      this.method = 'post';    }    this.parameters = params;    if (params = Hash.toQueryString(params)) {      // when GET, append parameters to URL      if (this.method == 'get')        this.url += (this.url.include('?') ? '&' : '?') + params;      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))        params += '&_=';    }    try {      if (this.options.onCreate) this.options.onCreate(this.transport);      Ajax.Responders.dispatch('onCreate', this, this.transport);      this.transport.open(this.method.toUpperCase(), this.url,        this.options.asynchronous);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美国产77777| 日韩精品中文字幕在线不卡尤物| 国产精品久久久久久福利一牛影视| 国产一区欧美二区| 国产日韩欧美麻豆| 国产成人免费xxxxxxxx| 国产精品九色蝌蚪自拍| 色综合一个色综合亚洲| 日韩综合一区二区| 精品国产乱码久久久久久1区2区| 国产成人自拍高清视频在线免费播放| 久久久精品国产免大香伊| 99久久综合精品| 午夜久久久久久电影| 亚洲精品在线三区| 91免费版在线看| 日韩精品亚洲专区| 国产欧美综合色| 欧美日韩中文精品| 激情综合五月婷婷| 亚洲精品乱码久久久久久黑人| 欧美日韩久久久| 国产一区二区三区免费看 | 精品黑人一区二区三区久久| 激情伊人五月天久久综合| 中文无字幕一区二区三区| 欧美日韩一区二区三区高清| 国产一区二区三区最好精华液| 亚洲女同一区二区| 欧美videossexotv100| 91视频在线观看| 精品一区二区三区免费| 亚洲专区一二三| 日本一区二区视频在线| 欧美人牲a欧美精品| 北岛玲一区二区三区四区| 日韩精品久久理论片| 国产精品福利一区| 欧美成人精精品一区二区频| 在线观看成人免费视频| 福利视频网站一区二区三区| 亚洲1区2区3区4区| 亚洲色图制服诱惑| 久久久久久97三级| 欧美一区二区福利在线| 91蜜桃在线观看| 国产69精品久久久久毛片| 日本中文字幕一区| 一区二区三区高清不卡| 中文字幕 久热精品 视频在线| 欧美精品v日韩精品v韩国精品v| 99麻豆久久久国产精品免费优播| 黄页网站大全一区二区| 日本强好片久久久久久aaa| 亚洲男人的天堂网| 中文字幕第一区综合| 久久综合狠狠综合久久综合88| 欧美精品久久99| 精品视频资源站| 欧美日韩在线不卡| 在线视频亚洲一区| 色综合久久综合中文综合网| 成人性视频免费网站| 国产成人激情av| 国产一区二区久久| 久久91精品久久久久久秒播| 日韩和欧美一区二区三区| 亚洲小少妇裸体bbw| 一个色在线综合| 中文字幕在线一区| 中文字幕中文字幕在线一区| 国产精品美女久久久久久2018| 中文字幕第一区综合| 国产精品嫩草影院com| 国产精品福利一区| 亚洲免费电影在线| 亚洲大型综合色站| 五月婷婷色综合| 视频一区免费在线观看| 视频一区国产视频| 久久国产夜色精品鲁鲁99| 国内成人免费视频| 成人自拍视频在线观看| 99麻豆久久久国产精品免费| 色婷婷激情一区二区三区| 欧美丝袜丝交足nylons| 91超碰这里只有精品国产| 欧美一区二区国产| 精品国产乱码久久久久久免费| 久久综合视频网| 国产精品私房写真福利视频| 亚洲欧洲韩国日本视频| 亚洲综合丁香婷婷六月香| 视频一区二区中文字幕| 国产一区二区免费视频| av在线不卡电影| 欧美日韩国产美女| 久久一区二区三区四区| 国产精品国产自产拍高清av| 亚洲夂夂婷婷色拍ww47| 久久超碰97中文字幕| 成人永久aaa| 欧美三级日韩在线| 久久久综合网站| 亚洲视频资源在线| 日本人妖一区二区| www.日韩大片| 91精品久久久久久久91蜜桃| 久久久久久亚洲综合| 一区二区三区在线免费播放| 免费人成在线不卡| 成人午夜激情视频| 3d成人动漫网站| 国产精品二三区| 视频在线在亚洲| av不卡免费电影| 日韩欧美黄色影院| 一区二区视频在线看| 激情图区综合网| 色菇凉天天综合网| 久久久久久久久岛国免费| 一级女性全黄久久生活片免费| 经典三级在线一区| 欧美这里有精品| 国产精品美女久久久久av爽李琼| 日韩精品三区四区| 色成人在线视频| 国产日本欧洲亚洲| 蜜臂av日日欢夜夜爽一区| 91在线你懂得| 2023国产精品视频| 免费观看日韩电影| 精品视频一区二区三区免费| 18成人在线观看| 国产剧情一区在线| 日韩精品一区二| 婷婷久久综合九色国产成人| www.在线欧美| 国产亚洲1区2区3区| 青娱乐精品视频在线| 在线亚洲一区二区| 国产欧美日韩精品a在线观看| 爽好久久久欧美精品| 色偷偷一区二区三区| 亚洲欧洲日本在线| 福利视频网站一区二区三区| 欧美成人精品3d动漫h| 三级不卡在线观看| 欧美日韩和欧美的一区二区| 亚洲视频你懂的| 高清不卡一区二区| 欧美国产欧美亚州国产日韩mv天天看完整 | 成人黄色av电影| 久久先锋资源网| 国产在线国偷精品免费看| 日韩精品中文字幕一区| 天堂va蜜桃一区二区三区漫画版| 欧美午夜精品久久久久久孕妇| 亚洲精品国产视频| 99久久精品国产精品久久| 国产精品乱码一区二三区小蝌蚪| 国产精品123区| 中文天堂在线一区| 91免费看`日韩一区二区| 亚洲女与黑人做爰| 欧洲国内综合视频| 亚洲v日本v欧美v久久精品| 欧美性高清videossexo| 同产精品九九九| 91精品国产综合久久香蕉麻豆| 偷拍自拍另类欧美| 欧美va亚洲va香蕉在线| 国产精品66部| 国产精品福利一区二区三区| 99re热视频精品| 亚洲一区二区三区四区五区中文| 欧美午夜精品免费| 免费观看91视频大全| 久久精品夜夜夜夜久久| 白白色 亚洲乱淫| 亚洲国产视频网站| 日韩一区二区电影在线| 国产一区二区网址| 亚洲色图欧美在线| 欧美丰满少妇xxxbbb| 国产麻豆精品在线| 亚洲人成网站精品片在线观看| 欧美日精品一区视频| 狠狠色丁香婷综合久久| 最新成人av在线| 欧美高清hd18日本| 国产精品综合一区二区| 亚洲码国产岛国毛片在线| 在线综合+亚洲+欧美中文字幕| 国产精一区二区三区| 亚洲一区影音先锋| 亚洲精品在线三区| 在线观看国产日韩| 国产在线精品一区二区不卡了| 亚洲欧洲国产日本综合|