⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x_drag.js

📁 《Ajax 实战》中文(有源码)详细简介了ajax
💻 JS
字号:
// x_drag.js, part of X, a Cross-Browser.com Javascript Library
// Copyright (C) 2001,2002,2003,2004,2005 Michael Foster - Distributed under the terms of the GNU LGPL - OSI Certified
// File Rev: 2

var xDragMgr = {ele:null, mm:false};

function xEnableDrag(id, fnDragStart, fnDrag, fnDragEnd)
{
  var ele = xGetElementById(id);
  ele.xDraggable = true;
  ele.xOnDragStart = fnDragStart;
  ele.xOnDrag = fnDrag;
  ele.xOnDragEnd = fnDragEnd;
  xAddEventListener(ele, 'mousedown', xdOnMousedown, false);
  if (!xDragMgr.mm) {
    xDragMgr.mm = true;
    xAddEventListener(document, 'mousemove', xdOnMousemove, false);
  }
}
function xdOnMousedown(e) // drag start
{
  var evt = new xEvent(e);
  var ele = evt.target;
  while(ele && !ele.xDraggable) {
    ele = xParent(ele);
  }
  if (ele) {
    if (e && e.preventDefault) e.preventDefault();
    else if (window.event) window.event.returnValue = false;
    ele.xDragX = evt.pageX;
    ele.xDragY = evt.pageY;
    xDragMgr.ele = ele;
    xAddEventListener(document, 'mouseup', xdOnMouseup, false);
    if (ele.xOnDragStart) {
      ele.xOnDragStart(ele, evt.pageX, evt.pageY);
    }
  }
}
function xdOnMousemove(e) // drag
{
  var evt = new xEvent(e);
  if (xDragMgr.ele) {
    if (e && e.preventDefault) e.preventDefault();
    else if (window.event) window.event.returnValue = false;
    var ele = xDragMgr.ele;
    var dx = evt.pageX - ele.xDragX;
    var dy = evt.pageY - ele.xDragY;
    ele.xDragX = evt.pageX;
    ele.xDragY = evt.pageY;
    if (ele.xOnDrag) {
      ele.xOnDrag(ele, dx, dy);
    }
    else {
      xMoveTo(ele, xLeft(ele) + dx, xTop(ele) + dy);
    }
  }  
}
function xdOnMouseup(e) // drag end
{
  if (xDragMgr.ele) {
    if (e && e.preventDefault) e.preventDefault();
    else if (window.event) window.event.returnValue = false;
    xRemoveEventListener(document, 'mouseup', xdOnMouseup, false);
    if (xDragMgr.ele.xOnDragEnd) {
      var evt = new xEvent(e);
      xDragMgr.ele.xOnDragEnd(xDragMgr.ele, evt.pageX, evt.pageY);
    }
    xDragMgr.ele = null;
  }  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -