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

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

?? dragdrop.js

?? ajax實現的字體的FADER效果
?? JS
?? 第 1 頁 / 共 2 頁
字號:
// script.aculo.us dragdrop.js v1.7.0, Fri Jan 19 19:16:36 CET 2007// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)//           (c) 2005, 2006 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)// // script.aculo.us is freely distributable under the terms of an MIT-style license.// For details, see the script.aculo.us web site: http://script.aculo.us/if(typeof Effect == 'undefined')  throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables = {  drops: [],  remove: function(element) {    this.drops = this.drops.reject(function(d) { return d.element==$(element) });  },  add: function(element) {    element = $(element);    var options = Object.extend({      greedy:     true,      hoverclass: null,      tree:       false    }, arguments[1] || {});    // cache containers    if(options.containment) {      options._containers = [];      var containment = options.containment;      if((typeof containment == 'object') &&         (containment.constructor == Array)) {        containment.each( function(c) { options._containers.push($(c)) });      } else {        options._containers.push($(containment));      }    }        if(options.accept) options.accept = [options.accept].flatten();    Element.makePositioned(element); // fix IE    options.element = element;    this.drops.push(options);  },    findDeepestChild: function(drops) {    deepest = drops[0];          for (i = 1; i < drops.length; ++i)      if (Element.isParent(drops[i].element, deepest.element))        deepest = drops[i];        return deepest;  },  isContained: function(element, drop) {    var containmentNode;    if(drop.tree) {      containmentNode = element.treeNode;     } else {      containmentNode = element.parentNode;    }    return drop._containers.detect(function(c) { return containmentNode == c });  },    isAffected: function(point, element, drop) {    return (      (drop.element!=element) &&      ((!drop._containers) ||        this.isContained(element, drop)) &&      ((!drop.accept) ||        (Element.classNames(element).detect(           function(v) { return drop.accept.include(v) } ) )) &&      Position.within(drop.element, point[0], point[1]) );  },  deactivate: function(drop) {    if(drop.hoverclass)      Element.removeClassName(drop.element, drop.hoverclass);    this.last_active = null;  },  activate: function(drop) {    if(drop.hoverclass)      Element.addClassName(drop.element, drop.hoverclass);    this.last_active = drop;  },  show: function(point, element) {    if(!this.drops.length) return;    var affected = [];        if(this.last_active) this.deactivate(this.last_active);    this.drops.each( function(drop) {      if(Droppables.isAffected(point, element, drop))        affected.push(drop);    });            if(affected.length>0) {      drop = Droppables.findDeepestChild(affected);      Position.within(drop.element, point[0], point[1]);      if(drop.onHover)        drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));            Droppables.activate(drop);    }  },  fire: function(event, element) {    if(!this.last_active) return;    Position.prepare();    if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active))      if (this.last_active.onDrop)         this.last_active.onDrop(element, this.last_active.element, event);  },  reset: function() {    if(this.last_active)      this.deactivate(this.last_active);  }}var Draggables = {  drags: [],  observers: [],    register: function(draggable) {    if(this.drags.length == 0) {      this.eventMouseUp   = this.endDrag.bindAsEventListener(this);      this.eventMouseMove = this.updateDrag.bindAsEventListener(this);      this.eventKeypress  = this.keyPress.bindAsEventListener(this);            Event.observe(document, "mouseup", this.eventMouseUp);      Event.observe(document, "mousemove", this.eventMouseMove);      Event.observe(document, "keypress", this.eventKeypress);    }    this.drags.push(draggable);  },    unregister: function(draggable) {    this.drags = this.drags.reject(function(d) { return d==draggable });    if(this.drags.length == 0) {      Event.stopObserving(document, "mouseup", this.eventMouseUp);      Event.stopObserving(document, "mousemove", this.eventMouseMove);      Event.stopObserving(document, "keypress", this.eventKeypress);    }  },    activate: function(draggable) {    if(draggable.options.delay) {       this._timeout = setTimeout(function() {         Draggables._timeout = null;         window.focus();         Draggables.activeDraggable = draggable;       }.bind(this), draggable.options.delay);     } else {      window.focus(); // allows keypress events if window isn't currently focused, fails for Safari      this.activeDraggable = draggable;    }  },    deactivate: function() {    this.activeDraggable = null;  },    updateDrag: function(event) {    if(!this.activeDraggable) return;    var pointer = [Event.pointerX(event), Event.pointerY(event)];    // Mozilla-based browsers fire successive mousemove events with    // the same coordinates, prevent needless redrawing (moz bug?)    if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return;    this._lastPointer = pointer;        this.activeDraggable.updateDrag(event, pointer);  },    endDrag: function(event) {    if(this._timeout) {       clearTimeout(this._timeout);       this._timeout = null;     }    if(!this.activeDraggable) return;    this._lastPointer = null;    this.activeDraggable.endDrag(event);    this.activeDraggable = null;  },    keyPress: function(event) {    if(this.activeDraggable)      this.activeDraggable.keyPress(event);  },    addObserver: function(observer) {    this.observers.push(observer);    this._cacheObserverCallbacks();  },    removeObserver: function(element) {  // element instead of observer fixes mem leaks    this.observers = this.observers.reject( function(o) { return o.element==element });    this._cacheObserverCallbacks();  },    notify: function(eventName, draggable, event) {  // 'onStart', 'onEnd', 'onDrag'    if(this[eventName+'Count'] > 0)      this.observers.each( function(o) {        if(o[eventName]) o[eventName](eventName, draggable, event);      });    if(draggable.options[eventName]) draggable.options[eventName](draggable, event);  },    _cacheObserverCallbacks: function() {    ['onStart','onEnd','onDrag'].each( function(eventName) {      Draggables[eventName+'Count'] = Draggables.observers.select(        function(o) { return o[eventName]; }      ).length;    });  }}/*--------------------------------------------------------------------------*/var Draggable = Class.create();Draggable._dragging    = {};Draggable.prototype = {  initialize: function(element) {    var defaults = {      handle: false,      reverteffect: function(element, top_offset, left_offset) {        var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;        new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur,          queue: {scope:'_draggable', position:'end'}        });      },      endeffect: function(element) {        var toOpacity = typeof element._opacity == 'number' ? element._opacity : 1.0;        new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity,           queue: {scope:'_draggable', position:'end'},          afterFinish: function(){             Draggable._dragging[element] = false           }        });       },      zindex: 1000,      revert: false,      scroll: false,      scrollSensitivity: 20,      scrollSpeed: 15,      snap: false,  // false, or xy or [x,y] or function(x,y){ return [x,y] }      delay: 0    };        if(!arguments[1] || typeof arguments[1].endeffect == 'undefined')      Object.extend(defaults, {        starteffect: function(element) {          element._opacity = Element.getOpacity(element);          Draggable._dragging[element] = true;          new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7});         }      });        var options = Object.extend(defaults, arguments[1] || {});    this.element = $(element);        if(options.handle && (typeof options.handle == 'string'))      this.handle = this.element.down('.'+options.handle, 0);        if(!this.handle) this.handle = $(options.handle);    if(!this.handle) this.handle = this.element;        if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) {      options.scroll = $(options.scroll);      this._isScrollChild = Element.childOf(this.element, options.scroll);    }    Element.makePositioned(this.element); // fix IE        this.delta    = this.currentDelta();    this.options  = options;    this.dragging = false;       this.eventMouseDown = this.initDrag.bindAsEventListener(this);    Event.observe(this.handle, "mousedown", this.eventMouseDown);        Draggables.register(this);  },    destroy: function() {    Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);    Draggables.unregister(this);  },    currentDelta: function() {    return([      parseInt(Element.getStyle(this.element,'left') || '0'),      parseInt(Element.getStyle(this.element,'top') || '0')]);  },    initDrag: function(event) {    if(typeof Draggable._dragging[this.element] != 'undefined' &&      Draggable._dragging[this.element]) return;    if(Event.isLeftClick(event)) {          // abort on form elements, fixes a Firefox issue      var src = Event.element(event);      if((tag_name = src.tagName.toUpperCase()) && (        tag_name=='INPUT' ||        tag_name=='SELECT' ||        tag_name=='OPTION' ||        tag_name=='BUTTON' ||        tag_name=='TEXTAREA')) return;              var pointer = [Event.pointerX(event), Event.pointerY(event)];      var pos     = Position.cumulativeOffset(this.element);      this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });            Draggables.activate(this);      Event.stop(event);    }  },    startDrag: function(event) {    this.dragging = true;        if(this.options.zindex) {      this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);      this.element.style.zIndex = this.options.zindex;    }        if(this.options.ghosting) {      this._clone = this.element.cloneNode(true);      Position.absolutize(this.element);      this.element.parentNode.insertBefore(this._clone, this.element);    }        if(this.options.scroll) {      if (this.options.scroll == window) {        var where = this._getWindowScroll(this.options.scroll);        this.originalScrollLeft = where.left;        this.originalScrollTop = where.top;      } else {        this.originalScrollLeft = this.options.scroll.scrollLeft;        this.originalScrollTop = this.options.scroll.scrollTop;      }    }        Draggables.notify('onStart', this, event);            if(this.options.starteffect) this.options.starteffect(this.element);  },    updateDrag: function(event, pointer) {    if(!this.dragging) this.startDrag(event);    Position.prepare();    Droppables.show(pointer, this.element);    Draggables.notify('onDrag', this, event);        this.draw(pointer);    if(this.options.change) this.options.change(this);        if(this.options.scroll) {      this.stopScrolling();            var p;      if (this.options.scroll == window) {        with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }      } else {        p = Position.page(this.options.scroll);        p[0] += this.options.scroll.scrollLeft + Position.deltaX;        p[1] += this.options.scroll.scrollTop + Position.deltaY;        p.push(p[0]+this.options.scroll.offsetWidth);        p.push(p[1]+this.options.scroll.offsetHeight);      }      var speed = [0,0];      if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity);      if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity);      if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity);      if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);      this.startScrolling(speed);    }        // fix AppleWebKit rendering    if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);        Event.stop(event);  },    finishDrag: function(event, success) {    this.dragging = false;    if(this.options.ghosting) {      Position.relativize(this.element);      Element.remove(this._clone);      this._clone = null;    }    if(success) Droppables.fire(event, this.element);    Draggables.notify('onEnd', this, event);    var revert = this.options.revert;    if(revert && typeof revert == 'function') revert = revert(this.element);        var d = this.currentDelta();    if(revert && this.options.reverteffect) {      this.options.reverteffect(this.element,         d[1]-this.delta[1], d[0]-this.delta[0]);    } else {      this.delta = d;    }    if(this.options.zindex)      this.element.style.zIndex = this.originalZ;    if(this.options.endeffect)       this.options.endeffect(this.element);          Draggables.deactivate(this);    Droppables.reset();  },    keyPress: function(event) {    if(event.keyCode!=Event.KEY_ESC) return;    this.finishDrag(event, false);    Event.stop(event);  },    endDrag: function(event) {    if(!this.dragging) return;    this.stopScrolling();    this.finishDrag(event, true);    Event.stop(event);  },    draw: function(point) {    var pos = Position.cumulativeOffset(this.element);    if(this.options.ghosting) {      var r   = Position.realOffset(this.element);      pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY;    }        var d = this.currentDelta();    pos[0] -= d[0]; pos[1] -= d[1];        if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) {      pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;      pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;    }        var p = [0,1].map(function(i){       return (point[i]-pos[i]-this.offset[i])     }.bind(this));        if(this.options.snap) {      if(typeof this.options.snap == 'function') {        p = this.options.snap(p[0],p[1],this);      } else {      if(this.options.snap instanceof Array) {        p = p.map( function(v, i) {          return Math.round(v/this.options.snap[i])*this.options.snap[i] }.bind(this))      } else {        p = p.map( function(v) {          return Math.round(v/this.options.snap)*this.options.snap }.bind(this))      }    }}        var style = this.element.style;    if((!this.options.constraint) || (this.options.constraint=='horizontal'))      style.left = p[0] + "px";    if((!this.options.constraint) || (this.options.constraint=='vertical'))      style.top  = p[1] + "px";    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本在线播放一区二区三区| 日韩三级中文字幕| 久久亚洲影视婷婷| 亚洲青青青在线视频| 久久福利视频一区二区| 91久久线看在观草草青青| 日韩免费高清视频| 亚洲一区视频在线| 99精品偷自拍| 国产精品色呦呦| 国产一区二区网址| 欧美一区二区三区免费大片| 一区二区三区在线视频观看| 丁香婷婷深情五月亚洲| 日韩欧美三级在线| 欧美精品tushy高清| 一区二区三区在线观看视频| 91日韩在线专区| 久久婷婷成人综合色| 精品一区二区在线免费观看| 欧美va天堂va视频va在线| 久久成人av少妇免费| 精品国产乱码91久久久久久网站| 日韩一区二区三区四区五区六区| 日韩欧美国产三级| 伊人色综合久久天天人手人婷| 精品影院一区二区久久久| 日韩欧美一级在线播放| 亚洲精品欧美专区| 日韩欧美一区电影| 成人午夜碰碰视频| 国产精品久久久久国产精品日日 | 日韩国产一区二| 日韩欧美国产精品| 久久精品国产999大香线蕉| 91精品国产综合久久小美女| 国模娜娜一区二区三区| 欧美精品一区二区三区久久久| 欧美一区二区三区人| 蜜桃av一区二区在线观看| 日韩女优毛片在线| 国内久久婷婷综合| 亚洲精品你懂的| 欧美不卡一区二区| 97se亚洲国产综合自在线| 日韩精品国产精品| 国产色91在线| 欧美v亚洲v综合ⅴ国产v| 丰满少妇在线播放bd日韩电影| 午夜激情久久久| 精品国产成人在线影院 | 国产精品传媒在线| 婷婷一区二区三区| 国产婷婷色一区二区三区| 日韩一区二区电影| 欧美日韩国产精品自在自线| 欧美综合一区二区| 日本高清免费不卡视频| 在线免费一区三区| 色婷婷久久久久swag精品| 99久久夜色精品国产网站| 国产乱子伦视频一区二区三区| 精品亚洲欧美一区| 国产一区二区三区精品欧美日韩一区二区三区| 日日夜夜精品免费视频| 丝袜美腿成人在线| 日本不卡视频在线| 亚洲综合清纯丝袜自拍| 蜜臂av日日欢夜夜爽一区| 久久66热偷产精品| 激情小说亚洲一区| 韩国三级电影一区二区| 韩日av一区二区| 国产成人夜色高潮福利影视| 国产在线播放一区| 粉嫩欧美一区二区三区高清影视| 亚洲一区精品在线| 美女视频第一区二区三区免费观看网站 | 日韩欧美在线一区二区三区| 在线不卡a资源高清| 欧美一级片免费看| 久久综合色婷婷| 国产精品色呦呦| 亚洲精品免费播放| 国产精品美日韩| 亚洲一区二区在线免费观看视频| 日韩影院精彩在线| 国产乱国产乱300精品| 成人亚洲精品久久久久软件| 国产91精品露脸国语对白| 欧美色精品天天在线观看视频| 宅男噜噜噜66一区二区66| 久久中文娱乐网| 日韩美女视频19| 午夜精品爽啪视频| 麻豆精品久久精品色综合| 精品日本一线二线三线不卡| 在线综合+亚洲+欧美中文字幕| 欧美精品一区二区三区视频| 日本一区二区三区国色天香 | 久久国产精品一区二区| 国产999精品久久久久久绿帽| 99久久免费精品| 欧美日韩中文一区| 2022国产精品视频| 亚洲黄色av一区| 裸体健美xxxx欧美裸体表演| 成人毛片老司机大片| 欧美视频精品在线观看| 精品久久久久久久人人人人传媒| 中文字幕国产一区二区| 日韩影院在线观看| 北条麻妃国产九九精品视频| 欧美一级二级在线观看| 亚洲国产三级在线| 国产酒店精品激情| 欧美色视频在线观看| 国产日韩欧美麻豆| 亚洲麻豆国产自偷在线| 成人精品在线视频观看| 在线播放91灌醉迷j高跟美女| 国产三级三级三级精品8ⅰ区| 午夜成人在线视频| 91在线云播放| 欧美精品一区二区三区很污很色的 | 欧美日韩一二区| 日本一区二区视频在线| 麻豆久久一区二区| 欧美亚洲国产一卡| 国产三级精品视频| 亚洲一卡二卡三卡四卡无卡久久 | 久草热8精品视频在线观看| 91福利在线播放| 久久这里只有精品首页| 久久成人综合网| 欧美精选午夜久久久乱码6080| 国产精品美女久久福利网站| 久久av资源站| 91麻豆精品久久久久蜜臀| 亚洲免费毛片网站| 成人综合在线视频| 久久一夜天堂av一区二区三区| 午夜久久久影院| 欧美性生活大片视频| 丁香五精品蜜臀久久久久99网站| 懂色一区二区三区免费观看| 日韩免费成人网| 亚洲国产精品天堂| 在线观看网站黄不卡| 国产精品欧美久久久久无广告| 精品影视av免费| 日韩一区二区电影在线| 日本欧美韩国一区三区| 在线精品视频免费播放| 亚洲欧美偷拍另类a∨色屁股| 福利一区二区在线| 久久精品综合网| 国产麻豆成人传媒免费观看| 精品毛片乱码1区2区3区 | 国产在线国偷精品产拍免费yy| 日韩一区二区三区av| 亚洲午夜一区二区| 在线播放国产精品二区一二区四区| 亚洲成av人片观看| 欧美四级电影网| 日韩精品亚洲专区| 91精品国产全国免费观看| 日韩福利视频导航| 欧美精品久久99| 久久精品国产免费| 亚洲精品一线二线三线| 国产精品亚洲一区二区三区在线| 精品国产乱码久久久久久牛牛| 久久国产尿小便嘘嘘尿| xnxx国产精品| 国产成人精品一区二区三区四区 | 午夜精品成人在线| 精品国产亚洲一区二区三区在线观看| 国产乱码精品一区二区三区av| 久久久久88色偷偷免费| 国产乱淫av一区二区三区 | 亚洲美女在线一区| 欧美剧情片在线观看| 免播放器亚洲一区| 久久久久九九视频| 91美女视频网站| 一区二区不卡在线视频 午夜欧美不卡在 | 69堂亚洲精品首页| 国产美女主播视频一区| 亚洲日本护士毛茸茸| 欧美图区在线视频| 国产麻豆一精品一av一免费 | 欧美国产精品中文字幕| 国产精品18久久久久| 国产精品国产精品国产专区不片 | 国产欧美视频在线观看| 一本色道a无线码一区v| 蜜桃传媒麻豆第一区在线观看| 国产日韩一级二级三级| 欧美视频完全免费看|