87,924
社区成员
发帖
与我相关
我的任务
分享
//调用方法Move_obj(id);
var isIE = document.all ? true : false;
var drag_=false
var D=new Function('obj','return document.getElementById(obj);')
var oevent=new Function('e','if (!e) e = window.event;return e')
function Move_obj(obj){
var x,y;
obj = D(obj);
//var pobj = obj.parentNode;如果想在子Div移动父Div就用这个方法
var pobj = obj;
obj.onmousedown=function(e){
drag_=true;
if(isIE){
pobj.setCapture();
pobj.style.filter= "Alpha(Opacity=70)";
}else{
window.captureEvents(Event.mousemove);
pobj.style.opacity = 0.5;
}
with(pobj){
style.position="absolute";
var temp1=offsetLeft;
var temp2=offsetTop;
x=oevent(e).clientX;
y=oevent(e).clientY;
document.onmousemove=function(e){
if(!drag_)
return false;
with(pobj){
style.left=temp1+oevent(e).clientX-x+"px";
style.top=temp2+oevent(e).clientY-y+"px";
}
}
}
document.onmouseup = function(){
drag_=false
if(isIE){
pobj.releaseCapture();
pobj.style.filter= "Alpha(Opacity=100)";
}else{
window.releaseEvents(this.MOUSEMOVE);
pobj.style.opacity = 1;
}
}
}
}
<div style="position:absolute; top:200px; left:400px; width:58px; height:15px; border:1px #666666 solid; text-align:center; background-color:#CCCCCC; cursor:move" onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">我要移动 </div>
<script language="javascript">
var isMove = false;
var top = 0; left = 0; x0 = 0, y0 = 0;
function getFocus(obj) {
obj.setCapture();
top = parseInt(obj.style.top);
left = parseInt(obj.style.left);
x0 = event.clientX;
y0 = event.clientY;
isMove = true;
}
function stopMove(obj) {
isMove = false;
obj.releaseCapture();
}
function move(obj) {
if (isMove) {
var x1 = event.clientX;
var y1 = event.clientY;
obj.style.top = (top + y1 - y0) + "px";
obj.style.left = (left + x1 - x0) + "px";
}
}
</script>