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

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

?? dragdrop.js

?? 使用javascript腳本實(shí)現(xiàn)IE的拖拽
?? JS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
// script.aculo.us dragdrop.js v1.8.1, Thu Jan 03 22:07:12 -0500 2008// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)//           (c) 2005-2007 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(Object.isUndefined(Effect))  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(Object.isArray(containment)) {        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 drop, affected = [];        this.drops.each( function(drop) {      if(Droppables.isAffected(point, element, drop))        affected.push(drop);    });            if(affected.length>0)      drop = Droppables.findDeepestChild(affected);    if(this.last_active && this.last_active != drop) this.deactivate(this.last_active);    if (drop) {      Position.within(drop.element, point[0], point[1]);      if(drop.onHover)        drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));            if (drop != this.last_active) 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);         return true;       }  },  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({  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 = Object.isNumber(element._opacity) ? 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,      quiet: 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] || Object.isUndefined(arguments[1].endeffect))      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 && Object.isString(options.handle))      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.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(!Object.isUndefined(Draggable._dragging[this.element]) &&      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;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区不卡视频| 欧美成人a∨高清免费观看| 免费观看久久久4p| 国产精品视频yy9299一区| 欧美在线999| 国产成人免费9x9x人网站视频| 亚洲国产欧美在线人成| 日本一区二区三级电影在线观看 | 天堂午夜影视日韩欧美一区二区| 久久网站热最新地址| 欧美在线|欧美| 成人久久视频在线观看| 蜜桃av噜噜一区| 夜夜嗨av一区二区三区网页 | 欧美日韩一二三区| 国产不卡在线一区| 美女在线视频一区| 一区二区不卡在线视频 午夜欧美不卡在 | 亚欧色一区w666天堂| 中文字幕第一区第二区| 日韩美一区二区三区| 欧美剧情片在线观看| 91碰在线视频| av一区二区三区四区| 国产麻豆视频一区| 精品亚洲成av人在线观看| 午夜久久久久久久久| 一区二区三区四区中文字幕| 国产精品二区一区二区aⅴ污介绍| 精品91自产拍在线观看一区| 91麻豆精品国产91久久久| 色综合久久久久久久| 成人黄色软件下载| 国产成人小视频| 国产一区二区福利视频| 精品一区二区三区视频在线观看 | 久久精品国产精品亚洲精品| 午夜欧美电影在线观看| 亚洲福利视频一区二区| 一卡二卡三卡日韩欧美| 亚洲一区二三区| 亚洲一区二区在线观看视频 | 精彩视频一区二区三区| 免费亚洲电影在线| 免费观看一级特黄欧美大片| 天天综合天天做天天综合| 亚洲高清不卡在线观看| 亚洲第四色夜色| 亚洲国产毛片aaaaa无费看| 一区二区三区四区av| 亚洲免费色视频| 亚洲乱码国产乱码精品精的特点| 亚洲免费毛片网站| 一区二区高清免费观看影视大全| 亚洲一卡二卡三卡四卡| 午夜国产不卡在线观看视频| 天堂在线一区二区| 青青青伊人色综合久久| 开心九九激情九九欧美日韩精美视频电影 | 亚洲午夜激情网站| 亚洲午夜精品在线| 日韩av午夜在线观看| 久久成人久久鬼色| 国产中文一区二区三区| 粉嫩一区二区三区在线看| 粉嫩久久99精品久久久久久夜| av一二三不卡影片| 欧美亚洲日本一区| 91麻豆精品国产| 久久久久久亚洲综合影院红桃| 欧美国产日韩精品免费观看| 亚洲同性同志一二三专区| 午夜日韩在线观看| 久久99这里只有精品| 成人高清免费在线播放| 在线观看免费亚洲| 日韩欧美中文一区二区| 国产日韩欧美精品综合| 亚洲精品免费在线播放| 日韩和的一区二区| 成人国产精品免费网站| 欧美欧美午夜aⅴ在线观看| 精品国产制服丝袜高跟| 波波电影院一区二区三区| 91黄视频在线观看| 精品国产一区二区精华| 亚洲欧美一区二区三区极速播放 | 亚洲女女做受ⅹxx高潮| 日韩精品91亚洲二区在线观看| 国产寡妇亲子伦一区二区| 在线国产电影不卡| 久久综合九色综合久久久精品综合| 最新热久久免费视频| 美日韩一区二区| 91片在线免费观看| 精品国产91乱码一区二区三区 | 一区二区三区四区av| 久久丁香综合五月国产三级网站 | 国产成人免费网站| 欧美日韩精品免费| 国产精品久线在线观看| 免费久久精品视频| 欧美伊人精品成人久久综合97 | 亚洲成人午夜影院| 成人午夜av电影| 日韩一二三区不卡| 一区二区三区四区视频精品免费| 激情六月婷婷久久| 欧美日韩mp4| 自拍偷在线精品自拍偷无码专区| 麻豆一区二区99久久久久| 色综合中文字幕| 久久婷婷综合激情| 欧美aaaaaa午夜精品| 色综合久久中文字幕| 欧美高清在线一区| 国内久久精品视频| 欧美一区二区三级| 亚洲一区二区三区中文字幕| 成人黄色在线网站| 国产午夜精品一区二区三区视频 | 精品一区二区三区蜜桃| 欧美精品色综合| 亚洲午夜在线观看视频在线| 91丨九色丨黑人外教| 欧美国产亚洲另类动漫| 国产一区二区伦理片| 欧美本精品男人aⅴ天堂| 日日摸夜夜添夜夜添国产精品 | 久久婷婷色综合| 精品一区二区三区在线视频| 91精品国产91热久久久做人人 | 成人免费毛片嘿嘿连载视频| 精品国产91乱码一区二区三区 | 婷婷成人综合网| 欧美日韩免费一区二区三区| 亚洲影院免费观看| 91久久奴性调教| 97精品国产露脸对白| 欧美激情中文字幕一区二区| 国模少妇一区二区三区| 2019国产精品| 国产精品911| 欧美精彩视频一区二区三区| 国产成人高清在线| 国产精品美女久久福利网站| 99精品视频在线免费观看| 综合婷婷亚洲小说| 色久综合一二码| 亚洲午夜一二三区视频| 欧美人妇做爰xxxⅹ性高电影 | 久久久国际精品| 国产乱码精品一品二品| 国产区在线观看成人精品| 成人综合婷婷国产精品久久| 国产精品久久久久桃色tv| 91玉足脚交白嫩脚丫在线播放| 亚洲精品国产一区二区精华液| 欧美在线视频你懂得| 婷婷成人激情在线网| 日韩精品一区二区三区在线| 国产在线播放一区三区四| 国产欧美精品一区二区色综合 | 国产精品综合av一区二区国产馆| 久久久99久久| 91视频观看视频| 夜夜精品视频一区二区| 欧美福利一区二区| 久久 天天综合| 国产精品国产a级| 91成人国产精品| 日本色综合中文字幕| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲一区二区三区在线看| 日韩欧美一区二区视频| 国产成人亚洲综合a∨婷婷| 亚洲裸体在线观看| 日韩一区二区免费在线电影| 国产成人综合亚洲91猫咪| 一区二区三区色| 欧美变态口味重另类| 91麻豆国产福利精品| 蜜臀av一级做a爰片久久| 日本一区二区三区四区在线视频| 在线亚洲精品福利网址导航| 蜜桃视频一区二区三区| 国产精品美女久久久久久2018| 欧美另类变人与禽xxxxx| 国产精品69久久久久水密桃| 亚洲自拍与偷拍| 国产色91在线| 欧美丰满少妇xxxbbb| 成人午夜视频福利| 日韩va欧美va亚洲va久久| 国产精品传媒在线| 精品美女一区二区| 日本韩国欧美在线| 国产精品中文字幕日韩精品| 亚洲高清久久久| 中文字幕欧美一区|