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

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

?? dragdrop.js

?? 在線裁切圖片
?? JS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
        }      }    } else {      this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;      this.options.scroll.scrollTop  += this.scrollSpeed[1] * delta / 1000;    }        Position.prepare();    Droppables.show(Draggables._lastPointer, this.element);    Draggables.notify('onDrag', this);    Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer);    Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000;    Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000;    if (Draggables._lastScrollPointer[0] < 0)      Draggables._lastScrollPointer[0] = 0;    if (Draggables._lastScrollPointer[1] < 0)      Draggables._lastScrollPointer[1] = 0;    this.draw(Draggables._lastScrollPointer);        if(this.options.change) this.options.change(this);  },    _getWindowScroll: function(w) {    var T, L, W, H;    with (w.document) {      if (w.document.documentElement && documentElement.scrollTop) {        T = documentElement.scrollTop;        L = documentElement.scrollLeft;      } else if (w.document.body) {        T = body.scrollTop;        L = body.scrollLeft;      }      if (w.innerWidth) {        W = w.innerWidth;        H = w.innerHeight;      } else if (w.document.documentElement && documentElement.clientWidth) {        W = documentElement.clientWidth;        H = documentElement.clientHeight;      } else {        W = body.offsetWidth;        H = body.offsetHeight      }    }    return { top: T, left: L, width: W, height: H };  }}/*--------------------------------------------------------------------------*/var SortableObserver = Class.create();SortableObserver.prototype = {  initialize: function(element, observer) {    this.element   = $(element);    this.observer  = observer;    this.lastValue = Sortable.serialize(this.element);  },    onStart: function() {    this.lastValue = Sortable.serialize(this.element);  },    onEnd: function() {    Sortable.unmark();    if(this.lastValue != Sortable.serialize(this.element))      this.observer(this.element)  }}var Sortable = {  sortables: {},    _findRootElement: function(element) {    while (element.tagName != "BODY") {        if(element.id && Sortable.sortables[element.id]) return element;      element = element.parentNode;    }  },  options: function(element) {    element = Sortable._findRootElement($(element));    if(!element) return;    return Sortable.sortables[element.id];  },    destroy: function(element){    var s = Sortable.options(element);        if(s) {      Draggables.removeObserver(s.element);      s.droppables.each(function(d){ Droppables.remove(d) });      s.draggables.invoke('destroy');            delete Sortable.sortables[s.element.id];    }  },  create: function(element) {    element = $(element);    var options = Object.extend({       element:     element,      tag:         'li',       // assumes li children, override with tag: 'tagname'      dropOnEmpty: false,      tree:        false,      treeTag:     'ul',      overlap:     'vertical', // one of 'vertical', 'horizontal'      constraint:  'vertical', // one of 'vertical', 'horizontal', false      containment: element,    // also takes array of elements (or id's); or false      handle:      false,      // or a CSS class      only:        false,      hoverclass:  null,      ghosting:    false,      scroll:      false,      scrollSensitivity: 20,      scrollSpeed: 15,      format:      /^[^_]*_(.*)$/,      onChange:    Prototype.emptyFunction,      onUpdate:    Prototype.emptyFunction    }, arguments[1] || {});    // clear any old sortable with same element    this.destroy(element);    // build options for the draggables    var options_for_draggable = {      revert:      true,      scroll:      options.scroll,      scrollSpeed: options.scrollSpeed,      scrollSensitivity: options.scrollSensitivity,      ghosting:    options.ghosting,      constraint:  options.constraint,      handle:      options.handle };    if(options.starteffect)      options_for_draggable.starteffect = options.starteffect;    if(options.reverteffect)      options_for_draggable.reverteffect = options.reverteffect;    else      if(options.ghosting) options_for_draggable.reverteffect = function(element) {        element.style.top  = 0;        element.style.left = 0;      };    if(options.endeffect)      options_for_draggable.endeffect = options.endeffect;    if(options.zindex)      options_for_draggable.zindex = options.zindex;    // build options for the droppables      var options_for_droppable = {      overlap:     options.overlap,      containment: options.containment,      tree:        options.tree,      hoverclass:  options.hoverclass,      onHover:     Sortable.onHover      //greedy:      !options.dropOnEmpty    }        var options_for_tree = {      onHover:      Sortable.onEmptyHover,      overlap:      options.overlap,      containment:  options.containment,      hoverclass:   options.hoverclass    }    // fix for gecko engine    Element.cleanWhitespace(element);     options.draggables = [];    options.droppables = [];    // drop on empty handling    if(options.dropOnEmpty || options.tree) {      Droppables.add(element, options_for_tree);      options.droppables.push(element);    }    (this.findElements(element, options) || []).each( function(e) {      // handles are per-draggable      var handle = options.handle ?         Element.childrenWithClassName(e, options.handle)[0] : e;          options.draggables.push(        new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));      Droppables.add(e, options_for_droppable);      if(options.tree) e.treeNode = element;      options.droppables.push(e);          });        if(options.tree) {      (Sortable.findTreeElements(element, options) || []).each( function(e) {        Droppables.add(e, options_for_tree);        e.treeNode = element;        options.droppables.push(e);      });    }    // keep reference    this.sortables[element.id] = options;    // for onupdate    Draggables.addObserver(new SortableObserver(element, options.onUpdate));  },  // return all suitable-for-sortable elements in a guaranteed order  findElements: function(element, options) {    return Element.findChildren(      element, options.only, options.tree ? true : false, options.tag);  },    findTreeElements: function(element, options) {    return Element.findChildren(      element, options.only, options.tree ? true : false, options.treeTag);  },  onHover: function(element, dropon, overlap) {    if(Element.isParent(dropon, element)) return;    if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {      return;    } else if(overlap>0.5) {      Sortable.mark(dropon, 'before');      if(dropon.previousSibling != element) {        var oldParentNode = element.parentNode;        element.style.visibility = "hidden"; // fix gecko rendering        dropon.parentNode.insertBefore(element, dropon);        if(dropon.parentNode!=oldParentNode)           Sortable.options(oldParentNode).onChange(element);        Sortable.options(dropon.parentNode).onChange(element);      }    } else {      Sortable.mark(dropon, 'after');      var nextElement = dropon.nextSibling || null;      if(nextElement != element) {        var oldParentNode = element.parentNode;        element.style.visibility = "hidden"; // fix gecko rendering        dropon.parentNode.insertBefore(element, nextElement);        if(dropon.parentNode!=oldParentNode)           Sortable.options(oldParentNode).onChange(element);        Sortable.options(dropon.parentNode).onChange(element);      }    }  },    onEmptyHover: function(element, dropon, overlap) {    var oldParentNode = element.parentNode;    var droponOptions = Sortable.options(dropon);            if(!Element.isParent(dropon, element)) {      var index;            var children = Sortable.findElements(dropon, {tag: droponOptions.tag});      var child = null;                  if(children) {        var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);                for (index = 0; index < children.length; index += 1) {          if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) {            offset -= Element.offsetSize (children[index], droponOptions.overlap);          } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) {            child = index + 1 < children.length ? children[index + 1] : null;            break;          } else {            child = children[index];            break;          }        }      }            dropon.insertBefore(element, child);            Sortable.options(oldParentNode).onChange(element);      droponOptions.onChange(element);    }  },  unmark: function() {    if(Sortable._marker) Element.hide(Sortable._marker);  },  mark: function(dropon, position) {    // mark on ghosting only    var sortable = Sortable.options(dropon.parentNode);    if(sortable && !sortable.ghosting) return;     if(!Sortable._marker) {      Sortable._marker = $('dropmarker') || document.createElement('DIV');      Element.hide(Sortable._marker);      Element.addClassName(Sortable._marker, 'dropmarker');      Sortable._marker.style.position = 'absolute';      document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);    }        var offsets = Position.cumulativeOffset(dropon);    Sortable._marker.style.left = offsets[0] + 'px';    Sortable._marker.style.top = offsets[1] + 'px';        if(position=='after')      if(sortable.overlap == 'horizontal')         Sortable._marker.style.left = (offsets[0]+dropon.clientWidth) + 'px';      else        Sortable._marker.style.top = (offsets[1]+dropon.clientHeight) + 'px';        Element.show(Sortable._marker);  },    _tree: function(element, options, parent) {    var children = Sortable.findElements(element, options) || [];      for (var i = 0; i < children.length; ++i) {      var match = children[i].id.match(options.format);      if (!match) continue;            var child = {        id: encodeURIComponent(match ? match[1] : null),        element: element,        parent: parent,        children: new Array,        position: parent.children.length,        container: Sortable._findChildrenElement(children[i], options.treeTag.toUpperCase())      }            /* Get the element containing the children and recurse over it */      if (child.container)        this._tree(child.container, options, child)            parent.children.push (child);    }    return parent;   },  /* Finds the first element of the given tag type within a parent element.    Used for finding the first LI[ST] within a L[IST]I[TEM].*/  _findChildrenElement: function (element, containerTag) {    if (element && element.hasChildNodes)      for (var i = 0; i < element.childNodes.length; ++i)        if (element.childNodes[i].tagName == containerTag)          return element.childNodes[i];      return null;  },  tree: function(element) {    element = $(element);    var sortableOptions = this.options(element);    var options = Object.extend({      tag: sortableOptions.tag,      treeTag: sortableOptions.treeTag,      only: sortableOptions.only,      name: element.id,      format: sortableOptions.format    }, arguments[1] || {});        var root = {      id: null,      parent: null,      children: new Array,      container: element,      position: 0    }        return Sortable._tree (element, options, root);  },  /* Construct a [i] index for a particular node */  _constructIndex: function(node) {    var index = '';    do {      if (node.id) index = '[' + node.position + ']' + index;    } while ((node = node.parent) != null);    return index;  },  sequence: function(element) {    element = $(element);    var options = Object.extend(this.options(element), arguments[1] || {});        return $(this.findElements(element, options) || []).map( function(item) {      return item.id.match(options.format) ? item.id.match(options.format)[1] : '';    });  },  setSequence: function(element, new_sequence) {    element = $(element);    var options = Object.extend(this.options(element), arguments[2] || {});        var nodeMap = {};    this.findElements(element, options).each( function(n) {        if (n.id.match(options.format))            nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];        n.parentNode.removeChild(n);    });       new_sequence.each(function(ident) {      var n = nodeMap[ident];      if (n) {        n[1].appendChild(n[0]);        delete nodeMap[ident];      }    });  },    serialize: function(element) {    element = $(element);    var options = Object.extend(Sortable.options(element), arguments[1] || {});    var name = encodeURIComponent(      (arguments[1] && arguments[1].name) ? arguments[1].name : element.id);        if (options.tree) {      return Sortable.tree(element, arguments[1]).children.map( function (item) {        return [name + Sortable._constructIndex(item) + "=" +                 encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));      }).flatten().join('&');    } else {      return Sortable.sequence(element, arguments[1]).map( function(item) {        return name + "[]=" + encodeURIComponent(item);      }).join('&');    }  }}/* Returns true if child is contained within element */Element.isParent = function(child, element) {  if (!child.parentNode || child == element) return false;  if (child.parentNode == element) return true;  return Element.isParent(child.parentNode, element);}Element.findChildren = function(element, only, recursive, tagName) {      if(!element.hasChildNodes()) return null;  tagName = tagName.toUpperCase();  if(only) only = [only].flatten();  var elements = [];  $A(element.childNodes).each( function(e) {    if(e.tagName && e.tagName.toUpperCase()==tagName &&      (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))        elements.push(e);    if(recursive) {      var grandchildren = Element.findChildren(e, only, recursive, tagName);      if(grandchildren) elements.push(grandchildren);    }  });  return (elements.length>0 ? elements.flatten() : []);}Element.offsetSize = function (element, type) {  if (type == 'vertical' || type == 'height')    return element.offsetHeight;  else    return element.offsetWidth;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一线二线三线| 日韩中文字幕不卡| 欧美成人精品3d动漫h| 欧美三级电影在线看| 欧美中文字幕不卡| 欧美电影影音先锋| 91麻豆精品国产自产在线| 欧美日韩视频在线观看一区二区三区 | 欧美色男人天堂| 欧美视频在线观看一区| 91.com视频| 精品少妇一区二区三区日产乱码| 精品国产露脸精彩对白 | 成人a区在线观看| www.亚洲免费av| 色综合色综合色综合色综合色综合 | 国产日韩精品一区二区三区| 国产欧美日韩在线视频| 亚洲欧美日韩在线播放| 亚洲3atv精品一区二区三区| 免费在线观看一区二区三区| 久久99久久99精品免视看婷婷 | 91美女在线看| 欧美性猛片xxxx免费看久爱| 日韩一区二区三区电影在线观看 | 色狠狠桃花综合| 7799精品视频| 中文欧美字幕免费| 亚洲一区二区3| 国产毛片精品视频| 91成人国产精品| 精品国产99国产精品| 最近中文字幕一区二区三区| 婷婷中文字幕综合| 国产99久久久精品| 欧美日韩国产首页在线观看| 国产日韩欧美高清在线| 日韩在线观看一区二区| 春色校园综合激情亚洲| 欧美日韩精品高清| 国产日韩欧美精品一区| 日韩精品一二区| 不卡电影一区二区三区| 日韩女优制服丝袜电影| 亚洲乱码国产乱码精品精98午夜 | 爽爽淫人综合网网站| 免费精品99久久国产综合精品| 国产在线观看一区二区| 在线精品视频免费播放| 国产亚洲美州欧州综合国| 五月天亚洲婷婷| 97超碰欧美中文字幕| 2017欧美狠狠色| 亚洲va国产va欧美va观看| 成a人片国产精品| www国产成人| 奇米精品一区二区三区四区| 色88888久久久久久影院野外 | 伊人婷婷欧美激情| 丁香亚洲综合激情啪啪综合| 精品久久一区二区三区| 亚洲超碰精品一区二区| 色婷婷一区二区三区四区| 国产欧美一区二区精品仙草咪| 日本不卡在线视频| 9191精品国产综合久久久久久| 亚洲色图制服诱惑 | www.66久久| 国产欧美日韩久久| 国产一区二区毛片| 精品国产乱码久久久久久老虎| 婷婷国产v国产偷v亚洲高清| 在线视频观看一区| 性久久久久久久久| 欧美日韩大陆一区二区| 亚洲一二三四久久| 欧美无乱码久久久免费午夜一区 | 亚洲欧美日韩国产综合在线| av中文字幕亚洲| 亚洲欧美色一区| 欧美日韩在线综合| 日韩av电影一区| 精品久久久久香蕉网| 久久成人18免费观看| 精品国产凹凸成av人导航| 精品一区二区精品| 久久一二三国产| 成人精品视频一区二区三区尤物| 中文字幕乱码久久午夜不卡| caoporn国产精品| 一区二区三区免费在线观看| 欧美午夜片在线观看| 免费在线观看视频一区| 国产区在线观看成人精品 | 久久久久久久精| 国产aⅴ精品一区二区三区色成熟| 欧美国产乱子伦 | 日韩午夜激情av| 国产在线播放一区三区四| 国产亚洲精品aa| 在线免费精品视频| 日韩国产高清影视| 欧美韩国日本综合| 欧美人xxxx| 波多野结衣欧美| 肉色丝袜一区二区| 欧美激情艳妇裸体舞| 欧美日韩精品电影| 成人国产在线观看| 日韩在线一二三区| 亚洲色图20p| 精品伦理精品一区| 日本久久精品电影| 国产精品一区二区免费不卡 | 欧美日韩高清影院| 成人美女视频在线看| 日韩电影网1区2区| 最近中文字幕一区二区三区| 精品国精品自拍自在线| 91老师国产黑色丝袜在线| 韩国视频一区二区| 亚洲国产精品综合小说图片区| 国产偷国产偷精品高清尤物| 欧美猛男gaygay网站| 成人国产一区二区三区精品| 激情六月婷婷久久| 亚洲第一在线综合网站| 国产精品久99| 久久蜜桃av一区精品变态类天堂| 欧美自拍丝袜亚洲| 91亚洲精品久久久蜜桃网站| 国产福利视频一区二区三区| 日本不卡一二三区黄网| 亚洲五月六月丁香激情| 亚洲欧美日韩久久精品| 国产精品色哟哟| 久久久91精品国产一区二区精品| 欧美做爰猛烈大尺度电影无法无天| 国产乱码精品一区二区三区忘忧草 | 欧美激情一区二区三区| 精品国产乱码久久久久久夜甘婷婷| 欧美三级欧美一级| 在线视频观看一区| 日本精品一区二区三区高清 | 一区二区三区精品视频在线| 中文字幕免费不卡| 国产欧美综合色| 中文字幕乱码一区二区免费| 久久看人人爽人人| 久久久久久久久久久黄色| 欧美tk—视频vk| 精品国内二区三区| 久久精品欧美一区二区三区不卡| 精品国产网站在线观看| 精品91自产拍在线观看一区| 欧美成人乱码一区二区三区| 亚洲精品一区二区在线观看| 久久午夜羞羞影院免费观看| 精品国产免费人成在线观看| 久久综合久色欧美综合狠狠| 国产三级欧美三级| 欧美激情一区二区三区不卡| 亚洲欧洲韩国日本视频| 亚洲另类在线一区| 亚洲成人午夜电影| 另类人妖一区二区av| 国产精一区二区三区| 国产成人av一区二区三区在线观看| 国产成人精品免费看| 色婷婷av一区二区三区软件 | 成人av在线资源网站| 9人人澡人人爽人人精品| 91精彩视频在线观看| 4438x亚洲最大成人网| 欧美精品一区二区在线观看| 亚洲国产电影在线观看| 亚洲激情男女视频| 亚洲成在线观看| 国产真实乱对白精彩久久| 91麻豆自制传媒国产之光| 欧美日韩精品综合在线| 久久天天做天天爱综合色| 亚洲人吸女人奶水| 日本最新不卡在线| 国产精品一区二区免费不卡| 色94色欧美sute亚洲线路二| 精品欧美一区二区在线观看| 国产精品国产三级国产普通话三级| 一区二区三区色| 99久久精品99国产精品| 91精品国产综合久久久久久久| 国产午夜精品一区二区三区视频| 伊人性伊人情综合网| 极品少妇xxxx偷拍精品少妇| 91麻豆精品秘密| 精品久久国产字幕高潮| 一区二区视频在线| 国产精品综合在线视频| 欧美日韩综合不卡| 亚洲色图20p|