`
jeffox
  • 浏览: 4651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

js 拖拽实例

阅读更多

function  drag(elementToDrag,event){
   var startX=event.clientX,startY=event.clientY;
   var origX = elementToDrag.offsetLeft,origY = elementToDrag.offsetTop;
   var deltaX=startX-origX,deltaY=startY-origY;
  
   if(document.addEventListener){
      document.addEventListener("mousemove",moveHandler,true);
	  document.addEventListener("mouseup",upHandler,true);
   }else if(document.attachEvent){
      
      elementToDrag.setCapture();
	  elementToDrag.attachEvent("onmousemove",moveHandler);
	  elementToDrag.attachEvent("onmouseup",upHandler);
	  elementToDrag.attachEvent("onlosecapture",upHandler);
   }else{
       var oldmovehandler=document.onmousemove;
	   var olduphandler=document.onmouseup;
	   document.onmousemove=moveHandler;
	   document.onmouseup=upHandler;
   }
   
   if(event.stopPropagation) event.stopPropagation();
      else event.cancelBubble=true;
	  
	if(event.preventDefault) event.preventDefault();
	  else event.returnValue=false;
	  
	function moveHandler(e){ 
	  if(!e) e=window.event;
         elementToDrag.style.left=(e.clientX-deltaX)+'px';
         elementToDrag.style.top=(e.clientY-deltaY)+'px';
       if(e.stopPropagation) e.stopPropagation();
           else{ e.cancelBubble=true;}	   
	}
	
	function upHandler(e){
	  if(!e) e=window.event;
	   if(document.removeEventListener){
	     document.removeEventListener('mouseup',upHandler,true);
         document.removeEventListener('mousemove',moveHandler,true);
	   }else if(document.detachEvent){
	     elementToDrag.detachEvent('onloasecapture',upHandler);
		 elementToDrag.detachEvent('onmouseup',upHandler);
		 elementToDrag.detachEvent('onmousemove',moveHandler);
		 elementToDrag.releaseCapture();
	   }else{
	    document.onmouseup=olduphandler;
		document.onmousemove=oldmovehandler;
	   }
	   if(e.stopPropagation) e.stopPropagation();
	   else e.cancelBubble=true;
	
	}
}


<script src="Drag.js"></script>
<div style='position:absolute;left:100px;top:100px;width:250px;background-color:white;border:solid black;'>
<div style='background-color:gray;broder-bottom:dotted black;padding:3px;font-family:sans-serif;font-weight:bold;'
   Onmousedown="drag(this.parentNode,event);">drag me <!-- the content of the titlebar--></div>
   <!--content of the draggable element-->
   <p>this is a test .testing testing testing<p>this is test.<p>Test.
</div>
 
分享到:
评论

相关推荐

    JS实现拖拽实例

    JS实现拖拽实例 JS实现拖拽实例 JS实现拖拽实例 JS实现拖拽实例

    JS拖拽实例支持IE6到10及FireFox

    绝对靠谱的js拖拽实例,支持IE6到10版本,及FireFox,且经过测试。 工作几年了,都没怎么分享自己的所学,今后俺会多分享的。

    php+mysql+js拖拽div实例

    **一、JavaScript拖拽功能实现** 1. **事件监听**:首先,我们需要在HTML中为要拖动的Div添加`draggable`属性,然后使用JavaScript监听`dragstart`、`drag`和`dragend`事件。这些事件分别在拖动开始、拖动过程中和...

    ArcGIS API for JavaScript4.8 实例

    《ArcGIS API for JavaScript 4.8 实例详解》 ArcGIS API for JavaScript 是Esri公司推出的一款强大的地图开发工具,主要用于构建交互式的Web GIS应用。4.8版本是其发展过程中的一个重要里程碑,提供了丰富的功能和...

    JavaScript 拖拽实例代码

    ### JavaScript拖拽实例代码 首先,让我们来看看使用纯JavaScript实现拖拽的基本步骤和原理。拖拽主要涉及三个事件:`mousedown`、`mousemove`和`mouseup`。 - `mousedown`事件用于初始化拖拽动作,它会在用户按下...

    Jqury拖动实例(25种实例)

    在这个"jQuery拖动实例(25种实例)"中,我们将探讨如何利用jQuery实现类似Google应用中的拖放效果。拖放功能在现代网页设计中非常常见,比如在文件管理、日历应用或者界面元素布局中都有其身影。 首先,jQuery的...

    js 前端鼠标拖动事件实例

    这个实例主要涉及的关键词是“js”(JavaScript)、“ASP”(尽管在这个上下文中并不直接相关,但可能是用户提及的一个相关技术栈)、“web”(Web开发)以及“鼠标事件”。我们将重点讲解JavaScript中的鼠标拖动...

    JavaScript实例应用 JavaScript实例应用

    5. **服务器端编程**:Node.js是一个JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,实现全栈开发。 6. **浏览器扩展**:JavaScript可以用于创建浏览器扩展,增强浏览器的功能,例如广告拦截器...

    JavaScript应用实例-拖动条控件.js

    JavaScript应用实例-拖动条控件.js

    jquery图片拖拽实例.zip

    【jQuery图片拖拽实例】是一个基于JavaScript库jQuery实现的交互式功能,允许用户通过鼠标拖动操作来移动页面上的图片。这个实例展示了如何利用jQuery的事件处理和DOM操作能力,为用户提供直观且易于使用的界面体验...

    div 拖拽实例 下载

    本实例关注的是使用jQuery库来实现div元素的拖拽功能,这对于网站开发人员来说非常实用,可以提升用户体验并增强网站的互动性。下面将详细探讨这个"div拖拽实例"及其相关知识点。 首先,jQuery是一个广泛使用的...

    js拖动类及其实例

    本实例将详细讲解JavaScript中的拖动类及其应用,帮助你理解和实现自己的拖放功能。 首先,我们要了解HTML5引入的拖放API,这是实现拖放功能的基础。HTML5的拖放API提供了一系列事件和接口,使得在浏览器中创建拖放...

    three.js拖拽生成场景简单示例

    在本文中,我们将深入探讨如何使用three.js库创建一个简单的拖拽生成场景的示例。three.js是一个基于WebGL的JavaScript库,它使得在浏览器中创建3D图形变得容易。结合OrbitControls.js,我们可以实现对场景中的对象...

    Dropzone.js实现文件拖拽上传实例

    dropzone.js是一个开源的JavaScript库,提供 AJAX 异步文件上传功能,支持拖拽文件、支持最大文件大小、支持设置文件类型、支持预览上传结果,不依赖jQuery库。 使用Dropzone 我们可以建立一个正式的上传form表单,...

    jquery图片拖拽实例(支持鼠标双击事件拖拽图片)

    本实例主要探讨如何利用jQuery实现图片的拖拽功能,并且特别关注鼠标双击事件来触发拖拽操作。接下来,我们将深入解析这个实例的核心知识点。 首先,我们需要引入jQuery库。在HTML文件中,可以通过添加以下代码来...

    jQuery可视化表单拖拽实例下载.zip

    首先,jQuery可视化表单拖拽实例是通过jQuery插件实现的一种交互效果,允许用户通过鼠标拖动来调整表单元素的位置,从而提供更直观、友好的操作体验。这一特性尤其适用于需要用户自定义布局的场景,如配置页面、在线...

    鼠标拖动调整table列宽实例

    "鼠标拖动调整table列宽实例" 是一种增强表格功能的常见技术,特别是在数据展示和分析的场景中。这个实例利用JavaScript实现,允许用户通过简单的鼠标操作来动态调整表格列的宽度,从而更好地查看和理解数据。 ...

    原生javascript实现拖拽改变table表格行高(html)

    原生JavaScript实现的拖拽功能能够为用户带来直观、便捷的操作体验。在这个特定的场景中,我们关注的是如何使用JavaScript来实现拖拽改变HTML表格(table)的行高。标题提到的“原生javascript实现拖拽改变table表格...

    网页层拖动实例(ASP.NET+AJAX)

    总的来说,"网页层拖动实例(ASP.NET+AJAX)"是一个综合运用前端和后端技术的项目,它展示了如何在ASP.NET环境中利用AJAX实现动态拖动效果。通过学习这个实例,开发者可以提升对网页交互设计的理解,并掌握如何在实际...

Global site tag (gtag.js) - Google Analytics