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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? prototype.js

?? 征服 Web2.0 快速入門(mén)(Java) 光盤(pán)源碼
?? JS
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/*--------------------------------------------------------------------------*/var $F = Form.Element.getValue;/*--------------------------------------------------------------------------*/Abstract.TimedObserver = function() {}Abstract.TimedObserver.prototype = {  initialize: function(element, frequency, callback) {    this.frequency = frequency;    this.element   = $(element);    this.callback  = callback;    this.lastValue = this.getValue();    this.registerCallback();  },  registerCallback: function() {    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);  },  onTimerEvent: function() {    var value = this.getValue();    if (this.lastValue != value) {      this.callback(this.element, value);      this.lastValue = value;    }  }}Form.Element.Observer = Class.create();Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {  getValue: function() {    return Form.Element.getValue(this.element);  }});Form.Observer = Class.create();Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {  getValue: function() {    return Form.serialize(this.element);  }});/*--------------------------------------------------------------------------*/Abstract.EventObserver = function() {}Abstract.EventObserver.prototype = {  initialize: function(element, callback) {    this.element  = $(element);    this.callback = callback;    this.lastValue = this.getValue();    if (this.element.tagName.toLowerCase() == 'form')      this.registerFormCallbacks();    else      this.registerCallback(this.element);  },  onElementEvent: function() {    var value = this.getValue();    if (this.lastValue != value) {      this.callback(this.element, value);      this.lastValue = value;    }  },  registerFormCallbacks: function() {    var elements = Form.getElements(this.element);    for (var i = 0; i < elements.length; i++)      this.registerCallback(elements[i]);  },  registerCallback: function(element) {    if (element.type) {      switch (element.type.toLowerCase()) {        case 'checkbox':        case 'radio':          Event.observe(element, 'click', this.onElementEvent.bind(this));          break;        case 'password':        case 'text':        case 'textarea':        case 'select-one':        case 'select-multiple':          Event.observe(element, 'change', this.onElementEvent.bind(this));          break;      }    }  }}Form.Element.EventObserver = Class.create();Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {  getValue: function() {    return Form.Element.getValue(this.element);  }});Form.EventObserver = Class.create();Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {  getValue: function() {    return Form.serialize(this.element);  }});if (!window.Event) {  var Event = new Object();}Object.extend(Event, {  KEY_BACKSPACE: 8,  KEY_TAB:       9,  KEY_RETURN:   13,  KEY_ESC:      27,  KEY_LEFT:     37,  KEY_UP:       38,  KEY_RIGHT:    39,  KEY_DOWN:     40,  KEY_DELETE:   46,  element: function(event) {    return event.target || event.srcElement;  },  isLeftClick: function(event) {    return (((event.which) && (event.which == 1)) ||            ((event.button) && (event.button == 1)));  },  pointerX: function(event) {    return event.pageX || (event.clientX +      (document.documentElement.scrollLeft || document.body.scrollLeft));  },  pointerY: function(event) {    return event.pageY || (event.clientY +      (document.documentElement.scrollTop || document.body.scrollTop));  },  stop: function(event) {    if (event.preventDefault) {      event.preventDefault();      event.stopPropagation();    } else {      event.returnValue = false;      event.cancelBubble = true;    }  },  // find the first node with the given tagName, starting from the  // node the event was triggered on; traverses the DOM upwards  findElement: function(event, tagName) {    var element = Event.element(event);    while (element.parentNode && (!element.tagName ||        (element.tagName.toUpperCase() != tagName.toUpperCase())))      element = element.parentNode;    return element;  },  observers: false,  _observeAndCache: function(element, name, observer, useCapture) {    if (!this.observers) this.observers = [];    if (element.addEventListener) {      this.observers.push([element, name, observer, useCapture]);      element.addEventListener(name, observer, useCapture);    } else if (element.attachEvent) {      this.observers.push([element, name, observer, useCapture]);      element.attachEvent('on' + name, observer);    }  },  unloadCache: function() {    if (!Event.observers) return;    for (var i = 0; i < Event.observers.length; i++) {      Event.stopObserving.apply(this, Event.observers[i]);      Event.observers[i][0] = null;    }    Event.observers = false;  },  observe: function(element, name, observer, useCapture) {    var element = $(element);    useCapture = useCapture || false;    if (name == 'keypress' &&        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)        || element.attachEvent))      name = 'keydown';    this._observeAndCache(element, name, observer, useCapture);  },  stopObserving: function(element, name, observer, useCapture) {    var element = $(element);    useCapture = useCapture || false;    if (name == 'keypress' &&        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)        || element.detachEvent))      name = 'keydown';    if (element.removeEventListener) {      element.removeEventListener(name, observer, useCapture);    } else if (element.detachEvent) {      element.detachEvent('on' + name, observer);    }  }});/* prevent memory leaks in IE */Event.observe(window, 'unload', Event.unloadCache, false);var Position = {  // set to true if needed, warning: firefox performance problems  // NOT neeeded for page scrolling, only if draggable contained in  // scrollable elements  includeScrollOffsets: false,  // must be called before calling withinIncludingScrolloffset, every time the  // page is scrolled  prepare: function() {    this.deltaX =  window.pageXOffset                || document.documentElement.scrollLeft                || document.body.scrollLeft                || 0;    this.deltaY =  window.pageYOffset                || document.documentElement.scrollTop                || document.body.scrollTop                || 0;  },  realOffset: function(element) {    var valueT = 0, valueL = 0;    do {      valueT += element.scrollTop  || 0;      valueL += element.scrollLeft || 0;      element = element.parentNode;    } while (element);    return [valueL, valueT];  },  cumulativeOffset: function(element) {    var valueT = 0, valueL = 0;    do {      valueT += element.offsetTop  || 0;      valueL += element.offsetLeft || 0;      element = element.offsetParent;    } while (element);    return [valueL, valueT];  },  positionedOffset: function(element) {    var valueT = 0, valueL = 0;    do {      valueT += element.offsetTop  || 0;      valueL += element.offsetLeft || 0;      element = element.offsetParent;      if (element) {        p = Element.getStyle(element, 'position');        if (p == 'relative' || p == 'absolute') break;      }    } while (element);    return [valueL, valueT];  },  offsetParent: function(element) {    if (element.offsetParent) return element.offsetParent;    if (element == document.body) return element;    while ((element = element.parentNode) && element != document.body)      if (Element.getStyle(element, 'position') != 'static')        return element;    return document.body;  },  // caches x/y coordinate pair to use with overlap  within: function(element, x, y) {    if (this.includeScrollOffsets)      return this.withinIncludingScrolloffsets(element, x, y);    this.xcomp = x;    this.ycomp = y;    this.offset = this.cumulativeOffset(element);    return (y >= this.offset[1] &&            y <  this.offset[1] + element.offsetHeight &&            x >= this.offset[0] &&            x <  this.offset[0] + element.offsetWidth);  },  withinIncludingScrolloffsets: function(element, x, y) {    var offsetcache = this.realOffset(element);    this.xcomp = x + offsetcache[0] - this.deltaX;    this.ycomp = y + offsetcache[1] - this.deltaY;    this.offset = this.cumulativeOffset(element);    return (this.ycomp >= this.offset[1] &&            this.ycomp <  this.offset[1] + element.offsetHeight &&            this.xcomp >= this.offset[0] &&            this.xcomp <  this.offset[0] + element.offsetWidth);  },  // within must be called directly before  overlap: function(mode, element) {    if (!mode) return 0;    if (mode == 'vertical')      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /        element.offsetHeight;    if (mode == 'horizontal')      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /        element.offsetWidth;  },  clone: function(source, target) {    source = $(source);    target = $(target);    target.style.position = 'absolute';    var offsets = this.cumulativeOffset(source);    target.style.top    = offsets[1] + 'px';    target.style.left   = offsets[0] + 'px';    target.style.width  = source.offsetWidth + 'px';    target.style.height = source.offsetHeight + 'px';  },  page: function(forElement) {    var valueT = 0, valueL = 0;    var element = forElement;    do {      valueT += element.offsetTop  || 0;      valueL += element.offsetLeft || 0;      // Safari fix      if (element.offsetParent==document.body)        if (Element.getStyle(element,'position')=='absolute') break;    } while (element = element.offsetParent);    element = forElement;    do {      valueT -= element.scrollTop  || 0;      valueL -= element.scrollLeft || 0;    } while (element = element.parentNode);    return [valueL, valueT];  },  clone: function(source, target) {    var options = Object.extend({      setLeft:    true,      setTop:     true,      setWidth:   true,      setHeight:  true,      offsetTop:  0,      offsetLeft: 0    }, arguments[2] || {})    // find page position of source    source = $(source);    var p = Position.page(source);    // find coordinate system to use    target = $(target);    var delta = [0, 0];    var parent = null;    // delta [0,0] will do fine with position: fixed elements,    // position:absolute needs offsetParent deltas    if (Element.getStyle(target,'position') == 'absolute') {      parent = Position.offsetParent(target);      delta = Position.page(parent);    }    // correct by body offsets (fixes Safari)    if (parent == document.body) {      delta[0] -= document.body.offsetLeft;      delta[1] -= document.body.offsetTop;    }    // set position    if(options.setLeft)   target.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';    if(options.setTop)    target.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';    if(options.setWidth)  target.style.width = source.offsetWidth + 'px';    if(options.setHeight) target.style.height = source.offsetHeight + 'px';  },  absolutize: function(element) {    element = $(element);    if (element.style.position == 'absolute') return;    Position.prepare();    var offsets = Position.positionedOffset(element);    var top     = offsets[1];    var left    = offsets[0];    var width   = element.clientWidth;    var height  = element.clientHeight;    element._originalLeft   = left - parseFloat(element.style.left  || 0);    element._originalTop    = top  - parseFloat(element.style.top || 0);    element._originalWidth  = element.style.width;    element._originalHeight = element.style.height;    element.style.position = 'absolute';    element.style.top    = top + 'px';;    element.style.left   = left + 'px';;    element.style.width  = width + 'px';;    element.style.height = height + 'px';;  },  relativize: function(element) {    element = $(element);    if (element.style.position == 'relative') return;    Position.prepare();    element.style.position = 'relative';    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);    element.style.top    = top + 'px';    element.style.left   = left + 'px';    element.style.height = element._originalHeight;    element.style.width  = element._originalWidth;  }}// Safari returns margins on body which is incorrect if the child is absolutely// positioned.  For performance reasons, redefine Position.cumulativeOffset for// KHTML/WebKit only.if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {  Position.cumulativeOffset = function(element) {    var valueT = 0, valueL = 0;    do {      valueT += element.offsetTop  || 0;      valueL += element.offsetLeft || 0;      if (element.offsetParent == document.body)        if (Element.getStyle(element, 'position') == 'absolute') break;      element = element.offsetParent;    } while (element);    return [valueL, valueT];  }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美无砖专区一中文字| a美女胸又www黄视频久久| 中文字幕av一区二区三区免费看 | 青青草97国产精品免费观看无弹窗版 | 一二三区精品福利视频| 久久―日本道色综合久久| 欧美日韩视频第一区| 成人一道本在线| 国产一区二区三区综合| 亚洲福中文字幕伊人影院| 国产精品成人一区二区艾草| 精品久久一区二区| 欧美日韩国产高清一区| 91一区二区三区在线观看| 国产一区二区免费视频| 久久精品国产亚洲a| 午夜精品久久久久久久99樱桃 | 精品亚洲欧美一区| 亚洲自拍偷拍av| 亚洲欧美色一区| 中文字幕一区二区不卡 | 日本成人在线不卡视频| 一区二区三区四区视频精品免费| 国产精品久久久久久户外露出| xvideos.蜜桃一区二区| 日韩欧美亚洲一区二区| 欧美一区二区三区的| 欧美精品乱人伦久久久久久| 欧美中文字幕一二三区视频| 色综合激情久久| 99久久久精品| 97久久精品人人爽人人爽蜜臀| 成人免费高清在线| 成人一级片在线观看| jlzzjlzz欧美大全| 91色在线porny| 91国产成人在线| 欧美天天综合网| 欧美军同video69gay| 宅男噜噜噜66一区二区66| 欧美喷潮久久久xxxxx| 7777精品伊人久久久大香线蕉| 欧美日韩一级视频| 欧美一区二区三区免费视频 | 成人黄色在线网站| 色综合中文字幕| 色伊人久久综合中文字幕| 91福利在线观看| 在线播放中文字幕一区| 精品国产区一区| 久久久亚洲欧洲日产国码αv| 中文字幕乱码久久午夜不卡| **欧美大码日韩| 亚洲影院免费观看| 欧美aaaaaa午夜精品| 国产在线看一区| 91在线观看地址| 欧美美女bb生活片| 337p日本欧洲亚洲大胆色噜噜| 中文字幕第一区综合| 亚洲自拍偷拍网站| 久久www免费人成看片高清| 懂色中文一区二区在线播放| 91蜜桃免费观看视频| 欧美久久久久久久久中文字幕| 精品欧美乱码久久久久久| 日本一区二区三区视频视频| 亚洲一线二线三线视频| 久久99热国产| 91在线小视频| 91精品黄色片免费大全| 国产日韩欧美a| 亚洲不卡av一区二区三区| 精品在线视频一区| 色综合视频在线观看| 日韩精品一区国产麻豆| 亚洲桃色在线一区| 免费精品视频最新在线| 99这里只有精品| 中文字幕亚洲一区二区av在线 | 6080日韩午夜伦伦午夜伦| 久久免费美女视频| 亚洲综合激情另类小说区| 国产乱子轮精品视频| 欧美亚洲精品一区| 日本一区二区三区免费乱视频| 亚洲1区2区3区4区| 成人高清免费观看| 欧美不卡在线视频| 亚洲小少妇裸体bbw| 国产成人在线电影| 日韩一区二区在线观看视频播放| 国产精品久久久久毛片软件| 美女脱光内衣内裤视频久久影院| 91亚洲国产成人精品一区二区三 | 欧洲精品一区二区三区在线观看| 久久久噜噜噜久噜久久综合| 亚洲超碰精品一区二区| 94-欧美-setu| 国产人伦精品一区二区| 看片的网站亚洲| 欧美日韩二区三区| 亚洲人成精品久久久久久| 国产精品自拍av| 91精品国产福利在线观看| 日韩伦理av电影| 成人性色生活片| 精品国产乱码久久久久久蜜臀| 亚洲成人福利片| 一本大道综合伊人精品热热| 国产精品拍天天在线| 国产精品1区2区3区| 日韩美女一区二区三区四区| 亚洲一级电影视频| 一本大道久久a久久精二百| 国产精品久久久久久久久免费相片| 激情小说欧美图片| 日韩欧美国产三级| 日韩av中文字幕一区二区 | 欧美日韩国产经典色站一区二区三区| 国产精品麻豆视频| 成人精品电影在线观看| 国产午夜精品久久久久久免费视| 美女脱光内衣内裤视频久久网站| 欧美一区二区三区喷汁尤物| 天天爽夜夜爽夜夜爽精品视频| 欧洲亚洲国产日韩| 亚洲精品高清在线观看| 99re成人精品视频| 最新成人av在线| 色88888久久久久久影院按摩 | 国产原创一区二区三区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 制服丝袜中文字幕一区| 日韩成人一级大片| 日韩欧美一区在线观看| 久久黄色级2电影| 337p粉嫩大胆噜噜噜噜噜91av| 国内久久精品视频| 国产亚洲精品精华液| 成人免费视频视频在线观看免费 | 精品成人在线观看| 国产麻豆91精品| 国产精品你懂的在线欣赏| 成人高清免费观看| 亚洲黄色在线视频| 欧美女孩性生活视频| 蜜桃av一区二区在线观看| 久久婷婷色综合| 不卡大黄网站免费看| 亚洲综合久久久| 日韩欧美精品三级| 国产成人精品在线看| 亚洲日穴在线视频| 欧美日韩一区二区三区在线 | 日本伊人午夜精品| 精品国产伦一区二区三区免费 | 欧美日韩在线直播| 青青草91视频| 国产精品三级久久久久三级| 欧美综合在线视频| 久久99精品国产麻豆不卡| 国产精品色在线| 欧美老年两性高潮| 粗大黑人巨茎大战欧美成人| 国产精品麻豆久久久| 欧美高清视频www夜色资源网| 精品综合免费视频观看| 亚洲丝袜自拍清纯另类| 91精品国产全国免费观看| 高清不卡一区二区| 亚洲国产aⅴ成人精品无吗| 337p粉嫩大胆噜噜噜噜噜91av| 色香蕉成人二区免费| 蜜桃免费网站一区二区三区| 成人免费在线播放视频| 91精品国产综合久久香蕉的特点 | 综合婷婷亚洲小说| 欧美一级理论片| 91在线视频18| 狠狠网亚洲精品| 亚洲成av人片在线观看无码| 久久精品亚洲精品国产欧美kt∨ | 日本不卡视频一二三区| 国产精品三级视频| 欧美一区二区三区免费| 91同城在线观看| 国产美女主播视频一区| 亚洲综合色视频| 国产精品天干天干在线综合| 欧美一区二区三区成人| 色狠狠综合天天综合综合| 国产精品一级在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品成人在线| 欧美经典一区二区| 日韩片之四级片| 欧美日本一区二区| 成人性生交大片免费看中文| 久久av资源网|