js 图片 拖动 复制

实现效果:
1.拖动母图片imgA
2.拖动母图片的“复制”后的新图片
3.新图片亦支持再次的复制新图片
附:
下面的示例代码 可以直接拷贝和运行
以查看相关效果 
-------------------------------------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<!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" >
<head runat="server">
<title>js 图片 拖动 复制</title>
<script language=javascript>

var Obj;

function DragStart(obj)
{  
  //去年复制部分
  //可以在母图片imgA 加onmousemove=MouseMove() 
  //onmouseup=MouseUp() 则只是拖动图片
  //---------复制 开始----------
  var i=0;
  var newName = obj.id+"1";
  while(document.all(newName)!=null)
  {
     i++;
     newName = obj.id+i;
  }
  var strHTML = "<img id='"+newName+"' src='" +obj.src+"'";
  //放开此句 则新的图片亦支持 拖动 复制
  //不放开 则只有母图片imgA支持拖动复制
  strHTML+= " ondragstart=DragStart(this) ";
  strHTML+= " onmousemove=MouseMove() ";
  strHTML+= " onmouseup=MouseUp() ";
  strHTML+= " style='position:absolute; ";
  strHTML+= " top:"+obj.style.top+"; left:"+obj.style.left+"' ";
  strHTML+= " /> ";
  obj.parentElement.innerHTML += strHTML; 
  Obj=document.all(newName);
  //---------复制 结束----------
 
  //Obj = obj;
  Obj.setCapture();
  Obj.l=event.x-Obj.style.pixelLeft;
  Obj.t=event.y-Obj.style.pixelTop;
}

function MouseMove()
{  
  if(Obj!=null)
  {
    Obj.style.left = event.x-Obj.l;
    Obj.style.top = event.y-Obj.t;
  }
}

function MouseUp()
{
  if(Obj!=null)
  {
    Obj.releaseCapture();
    Obj=null;
  }
}

</script>

</head>
<body>
    <form id="form1" runat="server">   
    <img id="imgA" src="01.bmp" ondragstart=DragStart(this)
        style="position:absolute; top:100px; left:100px;" /> 
    </form>
</body>
</html>

posted on 2007-07-12 15:20  freeliver54  阅读(3680)  评论(2编辑  收藏  举报

导航