公司要用一个 正好练练手!


 

参考的google的拖拽布局,

用的鼠标的x=e.clientx  和 y=e.clienty,判断是否在其它块里面


offest = pos(div)       div为需要检测碰撞的块
x>offset.left&&x<offset.right&&y>offset.top&&y<offset.bottom

 

有一个占位div  一个代理div

占位div就是放到的位置

代理div就是拖拽时候的代理层

 

在写的时候遇到了一些问题和要注意的地方

1.在ie6,7下 如果没有设置高度和宽度  直接设置透明度是不会透明的  可以在样式写*zoom:1 触发它的layout
2.拖拽的时候可能会选中文字图片什么的  在退拽的过程中可以不断的清空选中  window.getSelection? window.getSelection().removeAllRanges(): document.selection.empty();
3.初始化的时候 我会清除掉里面的dom块  如果用innerHTML ="" 发现ie6下加上dom块  样式加载不了....  所以用的removeChild  而且多遍历了一次
4. 当占位div(虚线的div)加到页面上的时候 计算碰撞的位置 是占位div 和 别选中的那个div合起来的面积

  



 

posted on 2012-05-16 01:21  wtcsy  阅读(1251)  评论(4编辑  收藏  举报