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拖拽实例,支持IE6到10版本,及FireFox,且经过测试。 工作几年了,都没怎么分享自己的所学,今后俺会多分享的。
**一、JavaScript拖拽功能实现** 1. **事件监听**:首先,我们需要在HTML中为要拖动的Div添加`draggable`属性,然后使用JavaScript监听`dragstart`、`drag`和`dragend`事件。这些事件分别在拖动开始、拖动过程中和...
《ArcGIS API for JavaScript 4.8 实例详解》 ArcGIS API for JavaScript 是Esri公司推出的一款强大的地图开发工具,主要用于构建交互式的Web GIS应用。4.8版本是其发展过程中的一个重要里程碑,提供了丰富的功能和...
### JavaScript拖拽实例代码 首先,让我们来看看使用纯JavaScript实现拖拽的基本步骤和原理。拖拽主要涉及三个事件:`mousedown`、`mousemove`和`mouseup`。 - `mousedown`事件用于初始化拖拽动作,它会在用户按下...
在这个"jQuery拖动实例(25种实例)"中,我们将探讨如何利用jQuery实现类似Google应用中的拖放效果。拖放功能在现代网页设计中非常常见,比如在文件管理、日历应用或者界面元素布局中都有其身影。 首先,jQuery的...
这个实例主要涉及的关键词是“js”(JavaScript)、“ASP”(尽管在这个上下文中并不直接相关,但可能是用户提及的一个相关技术栈)、“web”(Web开发)以及“鼠标事件”。我们将重点讲解JavaScript中的鼠标拖动...
5. **服务器端编程**:Node.js是一个JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,实现全栈开发。 6. **浏览器扩展**:JavaScript可以用于创建浏览器扩展,增强浏览器的功能,例如广告拦截器...
JavaScript应用实例-拖动条控件.js
【jQuery图片拖拽实例】是一个基于JavaScript库jQuery实现的交互式功能,允许用户通过鼠标拖动操作来移动页面上的图片。这个实例展示了如何利用jQuery的事件处理和DOM操作能力,为用户提供直观且易于使用的界面体验...
本实例关注的是使用jQuery库来实现div元素的拖拽功能,这对于网站开发人员来说非常实用,可以提升用户体验并增强网站的互动性。下面将详细探讨这个"div拖拽实例"及其相关知识点。 首先,jQuery是一个广泛使用的...
本实例将详细讲解JavaScript中的拖动类及其应用,帮助你理解和实现自己的拖放功能。 首先,我们要了解HTML5引入的拖放API,这是实现拖放功能的基础。HTML5的拖放API提供了一系列事件和接口,使得在浏览器中创建拖放...
在本文中,我们将深入探讨如何使用three.js库创建一个简单的拖拽生成场景的示例。three.js是一个基于WebGL的JavaScript库,它使得在浏览器中创建3D图形变得容易。结合OrbitControls.js,我们可以实现对场景中的对象...
dropzone.js是一个开源的JavaScript库,提供 AJAX 异步文件上传功能,支持拖拽文件、支持最大文件大小、支持设置文件类型、支持预览上传结果,不依赖jQuery库。 使用Dropzone 我们可以建立一个正式的上传form表单,...
本实例主要探讨如何利用jQuery实现图片的拖拽功能,并且特别关注鼠标双击事件来触发拖拽操作。接下来,我们将深入解析这个实例的核心知识点。 首先,我们需要引入jQuery库。在HTML文件中,可以通过添加以下代码来...
首先,jQuery可视化表单拖拽实例是通过jQuery插件实现的一种交互效果,允许用户通过鼠标拖动来调整表单元素的位置,从而提供更直观、友好的操作体验。这一特性尤其适用于需要用户自定义布局的场景,如配置页面、在线...
"鼠标拖动调整table列宽实例" 是一种增强表格功能的常见技术,特别是在数据展示和分析的场景中。这个实例利用JavaScript实现,允许用户通过简单的鼠标操作来动态调整表格列的宽度,从而更好地查看和理解数据。 ...
原生JavaScript实现的拖拽功能能够为用户带来直观、便捷的操作体验。在这个特定的场景中,我们关注的是如何使用JavaScript来实现拖拽改变HTML表格(table)的行高。标题提到的“原生javascript实现拖拽改变table表格...
总的来说,"网页层拖动实例(ASP.NET+AJAX)"是一个综合运用前端和后端技术的项目,它展示了如何在ASP.NET环境中利用AJAX实现动态拖动效果。通过学习这个实例,开发者可以提升对网页交互设计的理解,并掌握如何在实际...