JavaScript 拖放效果 —— 小拖放也有大智慧
2010-09-14 13:25:12 来源:WEB开发网核心提示:本文示例源代码或素材下载 拖放效果,也叫拖拽,JavaScript 拖放效果 —— 小拖放也有大智慧,学名Drag-and-drop ,是最常见的js特效之一,拖放对象的position必须是absolute绝对定位:this.Drag.style.position="absolute";最
本文示例源代码或素材下载
拖放效果,也叫拖拽,学名Drag-and-drop ,是最常见的js特效之一。
如果忽略很多细节,实现起来很简单,但往往细节才是难点所在。
这个程序的原型是在做图片切割效果的时候做出来的,那时参考了好几个同类的效果,跟muxrwc和BlueDestiny学习了不少东西。
虽然每次整理都觉得很好了,不过每隔一段时间又会发现得某个地方可以改善,某个地方有错误,某些需求需要实现,就像自己学习的知识那样。
这里考虑到有的人可能只需要简单的拖放,所以有一个简化版的拖放SimpleDrag,方便学习。
效果预览
拖放状态:未开始
程序说明
【程序原理】
这里以SimpleDrag为例说一下基本原理。
首先初始化程序中要一个拖放对象:
this.Drag=$(drag);
还要两个参数在开始时记录鼠标相对拖放对象的坐标:
this._x=this._y=0;
还有两个事件对象函数用于添加移除事件:
this._fM=BindAsEventListener(this,this.Move);
this._fS=Bind(this,this.Stop);
分别是拖动程序和停止拖动程序。
拖放对象的position必须是absolute绝对定位:
this.Drag.style.position="absolute";
最后把Start开始拖放程序绑定到拖放对象mousedown事件:
addEventHandler(this.Drag,"mousedown",BindAsEventListener(this,this.Start));
鼠标在拖放对象按住,就会触发Start程序,主要是用来准备拖动,在这里记录鼠标相对拖放对象的坐标:
Tags:JavaScript 效果 智慧
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接