/**
* Created by Administrator on 2014/6/5 0005. Base-drag 基于Base库的拖拽插件 tags为你要拖拽的元素参数, 数组形式传入
*/ $().extend('drag', function () {
var tags = arguments;
for (var i = 0; i < this.elements.length; i ++) {
addEvent(this.elements[i], 'mousedown', function (e) {
if (trim(this.innerHTML).length == 0) e.preventDefault();
var _this = this;
var diffX = e.clientX - _this.offsetLeft;
var diffY = e.clientY - _this.offsetTop; //自定义拖拽区域
var flag = false; for (var i = 0; i < tags.length; i ++) {
if (e.target == tags[i]) {
flag = true; //只要有一个是true,就立刻返回
break;
}
} if (flag) {
addEvent(document, 'mousemove', move);
addEvent(document, 'mouseup', up);
} else {
removeEvent(document, 'mousemove', move);
removeEvent(document, 'mouseup', up);
} function move(e) {
var left = e.clientX - diffX;
var top = e.clientY - diffY; if (left < 0) {
left = 0;
} else if (left <= getScroll().left) {
left = getScroll().left;
} else if (left > getInner().width + getScroll().left - _this.offsetWidth) {
left = getInner().width + getScroll().left - _this.offsetWidth;
} if (top < 0) {
top = 0;
} else if (top <= getScroll().top) {
top = getScroll().top;
} else if (top > getInner().height + getScroll().top - _this.offsetHeight) {
top = getInner().height + getScroll().top - _this.offsetHeight;
} _this.style.left = left + 'px';
_this.style.top = top + 'px'; if (typeof _this.setCapture != 'undefined') {
_this.setCapture();
}
} function up() {
removeEvent(document, 'mousemove', move);
removeEvent(document, 'mouseup', up);
if (typeof _this.releaseCapture != 'undefined') {
_this.releaseCapture();
}
}
});
}
return this;
});

最新文章

  1. 用C++开发Binder服务
  2. Guava monitor
  3. 贪心算法-最小生成树Kruskal算法和Prim算法
  4. Oracle - ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 解决
  5. 第三章 C#循环与方法
  6. server 2012 IIS 启用.NET 4.5
  7. discuz全局数组变量 后台各项设置 完整版
  8. 用happen-before规则重新审视DCL(转)
  9. 初步认识 Web Service
  10. Fresco 多图加载之ResizeOptions
  11. 动态设置Head的Title、Descrption
  12. 使用C语言实现字符串中子字符串的替换
  13. Table表格横竖线实现Css
  14. spring,springmvc,mybatis基本整合(一)--xml文件配置方式(1)
  15. SpringMVC+ZTree实现树形菜单权限配置
  16. iOS开发之图片压缩实现
  17. WebService连接winfrom简单实例
  18. spring5 reactive
  19. bzoj1597/luogu2900 土地购买 (斜率优化dp)
  20. php算法面试案例(转)

热门文章

  1. Infix expressions 中缀表达式
  2. nefu 179 珠子(最长递增子序列问题)
  3. AngularJs多重视图和路由的使用
  4. 利用npoi把多个DataTable导入Excel多个sheet中
  5. ASP:GB2312格式文本文件转换成UTF-8格式
  6. J2EE判断重复的数据
  7. 20160128_关于SVN提交不了并且还提示升级的解决方法
  8. wpf CollectionViewSource与ListBox的折叠、分组显示,及输入关键字 Filter的筛选
  9. icon在页面中的使用
  10. 判断Android应用是否安装、运行