`
tntxia
  • 浏览: 1523417 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

最少代码的可拖动DIV

阅读更多
以前在网上看到的最简单的拖动对象的代码,忘记作者叫什么了。原始代码在IE下有些小问题,并且声明了文档类型为xhtml 1.0后,在FF等非IE浏览器下无效,对其进行了改进,现在已经可兼容:IE、Firefox、Opera ...

以下代码只是演示原理,具体应用请结合你自己的实际需求进行修改。

<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
<head>
<title> 代码实例:拖动对象 Drag Object (兼容:IE、Firefox、Opera ... )</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<meta name="editor" content="枫岩,http://www.cnlei.com">
<meta name="keywords" content="代码实例:拖动对象">
<meta name="description" content="最简短的拖动对象代码实例演示">
<style>
.dragAble {position:relative;cursor:move;}
</style>
<script language="javascript">
<!--
// Author:  Unkonw
// Modify:  枫岩@CnLei.com
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var oDragObj;

function moveMouse(e) {
if (isdrag) {
oDragObj.style.top  =  (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px";
oDragObj.style.left  =  (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px";
return false;
}
}

function initDrag(e) {
var oDragHandle = nn6 ? e.target : event.srcElement;
var topElement = "HTML";
while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
}
if (oDragHandle.className=="dragAble") {
isdrag = true;
oDragObj = oDragHandle;
nTY = parseInt(oDragObj.style.top+0);
y = nn6 ? e.clientY : event.clientY;
nTX = parseInt(oDragObj.style.left+0);
x = nn6 ? e.clientX : event.clientX;
document.onmousemove=moveMouse;
return false;
}
}
document.onmousedown=initDrag;
document.onmouseup=new Function("isdrag=false");
//-->
</script>
</head>
<body>
<img src="http://www.iecn.net/images/user_icons/2006/10/01/u_35653.gif" class="dragAble" />
<img src="http://www.iecn.net/images/user_icons/2006/10/01/u_35653.gif" class="dragAble" />
<img src="http://www.iecn.net/images/user_icons/2006/10/01/u_35653.gif" class="dragAble" /><br /><br />
<div style="border:1px solid #ff6d00;background:#ffd801;width:240px;padding:5px 0;" class="dragAble">这些都是可拖动对象</div>
</body>
</html>

分享到:
评论
1 楼 xsfh1026 2009-07-29  
楼主辛苦了

相关推荐

    react-dragndrop:简单的拖放插件

    react-dragndrop(ES2015) 简单的库,只需最少的样板代码即可上手。 该库带有2个React组件: 和&lt;DropTarget&gt; 。 为了使这两个组件能够相互通信,必须使用以下代码创建DragDropManager的实例: import {...

    高德地图开发简单demo

    draggable: true // 是否可拖动 }); marker.setMap(map); ``` 4. **路径规划**:高德地图API还提供了路线规划功能,例如驾车、步行或骑行路线。 ```javascript AMap.service(['AMap.Driving'], function() { var ...

    amap_demo:高德地图使用初级教程

    draggable: true // 设置标记可拖动 }); marker.setMap(map); let infoWindow = new AMap.InfoWindow({ content: '&lt;div&gt;这是一个信息窗口&lt;/div&gt;', offset: new AMap.Pixel(0, -30) }); // 绑定点击事件打开...

    全国计算机一级考试选择题题库(含答案).doc

    - **Cache命中率与替换策略**:提高命中率可以显著提升性能,常见的替换策略有LRU(最近最少使用)、FIFO(先进先出)等。 #### 4. 计算机病毒 **知识点解析:** 计算机病毒是一种人为设计的恶意程序,它可以自我...

    ruiaoblog锐傲博客1.0

    5、索引+实体数据双缓存模式,只缓存需要的数据,充分合理的利用内存,尽可能在最少消耗下提供最好的性能。 6、标准三层结构开发,结构规范,易于扩展,代码整洁,安全性、稳定性均有质量保证。 7、页面定制,用户...

Global site tag (gtag.js) - Google Analytics