87,910
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<title>Drag </title>
<style type="text/css">
</style>
<script type="text/javascript">
var Drag = {
zi:0,
//当前被drag的对象
obj: null,
//初始化
init: function(id){
var o = document.getElementById(id);
//当onmousedown开始拖拽
o.onmousedown = Drag.start;
}
,
start: function(e){
var o = Drag.obj = this;
o.setCapture();
Drag.zi=o.style.zIndex;
o.lastMouseX = Drag.getEvent(e).x;
o.lastMouseY = Drag.getEvent(e).y;
o.style.zIndex=1000;
document.onmousemove = Drag.move;
document.onmouseup = Drag.up;
}
,
move: function(e){
var o = Drag.obj;
var dx = Drag.getEvent(e).x - o.lastMouseX;
var dy = Drag.getEvent(e).y - o.lastMouseY;
var left = parseInt(o.style.left) + dx ;
var top = parseInt(o.style.top) + dy;
o.style.left = left;
o.style.top = top;
o.lastMouseX = Drag.getEvent(e).x;
o.lastMouseY = Drag.getEvent(e).y;
}
,
up: function(e){
document.onmousemove = null;
document.onmouseup = null;
Drag.obj.style.zIndex=Drag.zi;
Drag.obj.releaseCapture();
Drag.obj = null;
}
,
getEvent: function(e){
if (typeof e == 'undefined'){
e = window.event;
}
if(typeof e.x == 'undefined'){
e.x = e.layerX;
}
if(typeof e.y == 'undefined'){
e.y = e.layerY;
}
return e;
}
}
;
</script>
</head>
<body>
<div id="r" style="position:absolute; left:100px; top:100px; background-color:red; height:80px; width:80px;"> </div>
<div id="g" style="position:absolute; left:250px; top:100px; background-color:green; height:80px; width:80px;"> </div>
<div id="b" style="position:absolute; left:400px; top:100px; background-color:blue; height:200px; width:300px;">
<br>
<iframe src="http://www.baidu.com" width="300" height="200"></iframe>
</div>
</body>
<script type="text/javascript">
//测试代码开始,使三个div具有drag and drop的能力。
Drag.init('r');
Drag.init('g');
Drag.init('b');
</script>
</html>
<html>
<head>
<title>Drag </title>
<style type="text/css"></style>
<script type="text/javascript">
var Drag = {
//当前被drag的对象
obj: null,
//初始化
init: function(id) {
var o = document.getElementById(id);
//当onmousedown开始拖拽
o.onmousedown = Drag.start;
},
start: function(e) {
var o = Drag.obj = this;
//lastMouseX,lastMouseY记录上次鼠标的位置
o.lastMouseX = Drag.getEvent(e).x;
o.lastMouseY = Drag.getEvent(e).y;
if(document.all){
Drag.obj.setCapture();
}
//当onmousemove开始移动
document.onmousemove = Drag.move;
//当onmouseup终止拖拽
document.onmouseup = Drag.end;
},
move: function(e) {
var o = Drag.obj;
//dx, dy表示鼠标移动的距离
var dx = Drag.getEvent(e).x - o.lastMouseX;
var dy = Drag.getEvent(e).y - o.lastMouseY;
//因为element.style.left通常返回的结果是'200px'的形式,所以要用parseInt转化
var left = parseInt(o.style.left) + dx;
var top = parseInt(o.style.top) + dy;
o.style.left = left;
o.style.top = top;
o.lastMouseX = Drag.getEvent(e).x;
o.lastMouseY = Drag.getEvent(e).y;
},
end: function(e) {
document.onmousemove = null;
document.onMouseup = null;
if(document.all){
Drag.obj.releaseCapture();
}
Drag.obj = null;
},
//辅助函数,处理IE和FF不同的event模型
getEvent: function(e) {
if (typeof e == 'undefined') {
e = window.event;
}
//alert(e.x?e.x : e.layerX);
if (typeof e.x == 'undefined') {
e.x = e.layerX; //复制了n遍,到了csdn就变成ee.x了
}
if (typeof e.y == 'undefined') {
e.y = e.layerY; //复制了n遍,到了csdn就变成ee.x了
}
return e;
}
};
</script>
</head>
<body>
<div id="r" style="position:absolute; left:100px; top:100px; background-color:red; height:80px; width:80px; z-index:1000;"> </div>
<div id="g" style="position:absolute; left:250px; top:100px; background-color:green; height:80px; width:80px; z-index:1000;"> </div>
<div id="b" style="position:absolute; left:400px; top:100px; background-color:blue; height:800px; width:800px;">
<br>
<iframe src="http://www.upipp.cn/"> </iframe>
</div>
</body>
<script type="text/javascript">
//测试代码开始,使三个div具有drag and drop的能力。
Drag.init('r');
Drag.init('g');
Drag.init('b');
</script>
</html>
<html>
<head>
<title>Drag </title>
<style type="text/css">
</style>
<script type="text/javascript">
var Drag = {
//当前被drag的对象
obj: null,
//初始化
init: function(id){
var o = document.getElementById(id);
//当onmousedown开始拖拽
o.onmousedown = Drag.start;
}
,
start: function(e){
var o = Drag.obj = this;
o.setCapture();
o.lastMouseX = Drag.getEvent(e).x;
o.lastMouseY = Drag.getEvent(e).y;
document.onmousemove = Drag.move;
document.onmouseup = Drag.end;
}
,
move: function(e){
var o = Drag.obj;
var dx = Drag.getEvent(e).x - o.lastMouseX;
var dy = Drag.getEvent(e).y - o.lastMouseY;
var left = parseInt(o.style.left) + dx ;
var top = parseInt(o.style.top) + dy;
o.style.left = left;
o.style.top = top;
o.lastMouseX = Drag.getEvent(e).x;
o.lastMouseY = Drag.getEvent(e).y;
}
,
end: function(e){
document.onmousemove = null;
document.onmouseup = null;
Drag.obj.releaseCapture();
Drag.obj = null;
}
,
getEvent: function(e){
if (typeof e == 'undefined'){
e = window.event;
}
if(typeof e.x == 'undefined'){
e.x = e.layerX;
}
if(typeof e.y == 'undefined'){
e.y = e.layerY;
}
return e;
}
}
;
</script>
</head>
<body>
<div id="r" style="position:absolute; left:100px; top:100px; background-color:red; height:80px; width:80px;"> </div>
<div id="g" style="position:absolute; left:250px; top:100px; background-color:green; height:80px; width:80px;"> </div>
<div id="b" style="position:absolute; left:400px; top:100px; background-color:blue; height:200px; width:300px;">
<br>
<iframe src="http://www.baidu.com" width="300" height="200"></iframe>
</div>
</body>
<script type="text/javascript">
//测试代码开始,使三个div具有drag and drop的能力。
Drag.init('r');
Drag.init('g');
Drag.init('b');
</script>
</html>