<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
Javascript元素拖曳操作Byshawl.qiu(兼容IE,Opera,Firefox)
说明:
拖曳流程
鼠标按下->(鼠标移动->元素移动)
鼠标按键弹起->元素停止移动
针对IE,主要使用obj.attachEvent()&&obj.detachEvent()
针对Firefox主要使用DOM2的obj.addEventListener()&&obj.removeEventListener
Opera以上两种方法都支持
在本文中,需要拖曳的元素必须指定style属性为position:absolute;
且应指定left&&top的坐标值,如:
linenum -
- element1
- draggingcompatibilityforIE,Opera,Firefox.
-
函数fDragging(obj,e,limit)的各参数解释:
obj:HTML元素对象,要拖曳的元素
e:指定为event对象,主要为兼容Firefox
limit:布尔值,指定是否只能在父元素中拖曳,false可移动至任何位置.
函数fDragging(obj,e,limit)应该在HTMLonmousedown属性下使用,如:
linenum -
- element
- draggingcompatibilityforIE,Opera,Firefox.
-
shawl.qiu
2006-11-10
http://blog.csdn.net/btbtd
函数:fDragging(obj,e,limit)及使用演示
linenum - htmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
http://www.w3.org/1999/xhtml">
-
<!--DW6-->
-
- <meta>
- shawl.qiutemplate
- <script> </li> <li>//<![CDATA[ </li> <li>functionfDragging(obj,e,limit){ </li> <li>if(!e)e=window.event; </li> <li>varx=parseInt(obj.style.left); </li> <li>vary=parseInt(obj.style.top); </li> <li> </li> <li>varx_=e.clientX-x; </li> <li>vary_=e.clientY-y; </li> <li> </li> <li>if(document.addEventListener){ </li> <li>document.addEventListener('mousemove',inFmove,true); </li> <li>document.addEventListener('mouseup',inFup,true); </li> <li>}elseif(document.attachEvent){ </li> <li>document.attachEvent('onmousemove',inFmove); </li> <li>document.attachEvent('onmouseup',inFup); </li> <li>} </li> <li> </li> <li>inFstop(e); </li> <li>inFabort(e) </li> <li> </li> <li>functioninFmove(e){ </li> <li>varevt; </li> <li>if(!e)e=window.event; </li> <li> </li> <li>if(limit){ </li> <li>varop=obj.parentNode; </li> <li>varopX=parseInt(op.style.left); </li> <li>varopY=parseInt(op.style.top); </li> <li> </li> <li>if((e.clientX-x_)<0)returnfalse; </li> <li>elseif((e.clientX-x_+obj.offsetWidth+opX)>(opX+op.offsetWidth))returnfalse; </li> <li> </li> <li>if(e.clientY-y_<0)returnfalse; </li> <li>elseif((e.clientY-y_+obj.offsetHeight+opY)>(opY+op.offsetHeight))returnfalse; </li> <li>//status=e.clientY-y_; </li> <li>} </li> <li> </li> <li>obj.style.left=e.clientX-x_+'px'; </li> <li>obj.style.top=e.clientY-y_+'px'; </li> <li> </li> <li>inFstop(e); </li> <li>}//shawl.qiuscript </li> <li>functioninFup(e){ </li> <li>varevt; </li> <li>if(!e)e=window.event; </li> <li> </li> <li>if(document.removeEventListener){ </li> <li>document.removeEventListener('mousemove',inFmove,true); </li> <li>document.removeEventListener('mouseup',inFup,true); </li> <li>}elseif(document.detachEvent){ </li> <li>document.detachEvent('onmousemove',inFmove); </li> <li>document.detachEvent('onmouseup',inFup); </li> <li>} </li> <li> </li> <li>inFstop(e); </li> <li>}//shawl.qiuscript </li> <li> </li> <li>functioninFstop(e){ </li> <li>if(e.stopPropagation)returne.stopPropagation(); </li> <li>elsereturne.cancelBubble=true; </li> <li>}//shawl.qiuscript </li> <li>functioninFabort(e){ </li> <li>if(e.preventDefault)returne.preventDefault(); </li> <li>elsereturne.returnValue=false; </li> <li>}//shawl.qiuscript </li> <li>} </li> <li>//]]> </li> <li></script>
-
-
-
thisparent
-
-
- element
- draggingcompatibilityforIE,Opera,Firefox.
-
-
- element1
- draggingcompatibilityforIE,Opera,Firefox.
-
-
- element2
- draggingcompatibilityforIE,Opera,Firefox.
-
draggingeverywhere
-
-
-
-
来源: http://blog.csdn.net/btbtd/archive/2006/11/10/1377810.aspx
分享到:
相关推荐
javaScript实现DIV简单拖拽
纯Javascript编写的div拖拽以及用鼠标绘制div之间连接线,外部资源仅需要jquery。有以下功能: 1、创建节点 2、节点随鼠标任意拖动 3、切换拖动和画线模式 4、用鼠标绘制两个节点之间带有箭头的连线 5、连接线随节点...
很棒的用Javascript实现DIV的拖拽和添加
javascript实现div的拖拽 html 文件,兼容火狐 IE
JQ JS javascript layui UI组件 元素 div 拖动插件JQ JS javascript layui UI组件 元素 div 拖动插件
附件中有5个不同的网页,使用JavaScript实现div窗口拖动
javascript实现鼠标拖动div的效果。。。
vue实现页面div盒子拖拽排序功能 vue 实现页面div盒子拖拽排序功能前言:目前市面上有很多实现拖拽排序功能的插件和方法,本节不过多累述,只讲一种:css3的transition-group方法 效果图: 1. DOM中使用: ...
javascript浮动div,可拖拽div,遮罩层(div和iframe实现)
一个很好用的javaScript写的小程序,可实现div的拖动、变形。解压后直接拷到程序中就可运行
Asp.net+JavaScript 实现的可拖动、可调节大小的 div层,div层中添加 sql2000 数据 开发工具:Visual2005,兼容Visual2008 数据库名:2010Expo 数据库附加失败可以直接建表manage 表属性manageid,managename,phone,...
javascript div拖动层 ,代码简单。
用javascript拖动div或table等对象。 代码兼容各种浏览器,IE,Firefox,Opera,Safari等。 这里有三种拖动效果。
主要介绍了JavaScript实现DIV层拖动及动态增加新层的方法,设计javascript操作div层的拖动与增加的相关技巧,需要的朋友可以参考下
这是一个超级简单的用javascript实现的div拖动的例子,希望对大家能有所帮助
本文实例为大家分享了JavaScript实现简单拖拽效果的具体代码,供大家参考,具体内容如下 先看实现的效果: 思路:里面用到了三个事件,鼠标按下、移动、松开事件 那么首先创建盒子并且给它赋予css样式 ...
javascript 拖拽 div 源代码,超简单
基于Ext的javascript的DIV上下拖动,
Js无刷新添加新层,拖动DIV层可互换位置的JavaScript实现 Js无刷新添加新层,拖动DIV层可互换位置的JavaScript实现
主要介绍了JavaScript实现可拖拽的拖动层Div的方法,拖拽页面中的div块可实现div块按照拖动轨迹移动的效果,涉及javascript鼠标事件、页面元素样式结合事件函数动态操作的相关技巧,需要的朋友可以参考下