鼠标实现表格内容拖动到下拉列表框

鼠标按下事件
拖动事件
释放事件(垃圾处理,拖动未成功,内容返回)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
var tmpDragObj;
function dragStart(){
tmpDragObj = event.srcElement;
tdiv = document.createElement("div");
tdiv.innerHTML = tmpDragObj.outerHTML;
tdiv.style.display = "block";
tdiv.style.position = "absolute";
tdiv.style.filter = "alpha(opacity=100)";
tdiv.style.cursor = "move";
tdiv.style.width = tmpDragObj.offsetWidth;
tdiv.style.height = tmpDragObj.offsetHeight;
tdiv.style.top = getInfo(tmpDragObj).top;
tdiv.style.left = getInfo(tmpDragObj).left;

document.body.appendChild(tdiv);
lastX = event.clientX;
lastY = event.clientY;
lastLeft = tdiv.style.left;
lastTop = tdiv.style.top;
try
{
tmpDragObj.dragDrop();
}catch(e)
{

}
}
function draging()
{
var tX = event.clientX;
var tY = event.clientY;

tdiv.style.left = parseInt(lastLeft) + tX-lastX;
tdiv.style.top = parseInt(lastTop) + tY-lastY;
}

function getInfo(o)//取得坐标
{
var to=new Object();
to.left=to.right=to.top=to.bottom=0;
var twidth=o.offsetWidth;
var theight=o.offsetHeight;
while(o!=document.body)
{
to.left+=o.offsetLeft;
to.top+=o.offsetTop;
o=o.offsetParent;
}
to.right=to.left+twidth;
    to.bottom=to.top+theight;
return to;
}
function dragEnd()
{
       if (true)
   {
var tX=event.clientX;
var tY=event.clientY;
    var parentCell=getInfo(ejej);
if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom)
{
   if (tmpDragObj.innerHTML == "") return;
   var tempoption = document.createElement("option");
   tempoption.value=tmpDragObj.innerHTML;
   tempoption.text=tmpDragObj.innerHTML;
   ejej.options.add(tempoption);
   tmpDragObj.style.backgroundColor = "red";
   tdiv.innerHTML = "33333";
   document.body.removeChild(tdiv);
 
   return;
}

   }
       mm = ff(150,15);
}

function ff(aa,ab)//从GOOGLE网站来,用于恢复位置
{
var ac=parseInt(getInfo(tdiv).left);
var ad=parseInt(getInfo(tdiv).top);
var ae=(ac-getInfo(tmpDragObj).left)/ab;
var af=(ad-getInfo(tmpDragObj).top)/ab;
return setInterval(function()
{
if(ab<1)
{
  clearInterval(mm);
  tdiv.removeNode(true);
  tmpDragObj=null;
  return
}
ab--;
ac-=ae;
ad-=af;
tdiv.style.left=parseInt(ac)+"px";
tdiv.style.top=parseInt(ad)+"px"
   }, aa/ab)
}

function createTable(){
var table_1 = document.createElement("table");
var table_2 = document.createElement("tbody");
for(i=0;i<3;i++){
var row_temp = document.createElement("tr");
for(j=0;j<5;j++){
var td_temp = document.createElement("td");
td_temp.setAttribute("width","100");
td_temp.onmousedown = dragStart;
td_temp.ondrag = draging;
td_temp.ondragend = dragEnd;
td_temp.appendChild(document.createTextNode(i*5+j));
row_temp.appendChild(td_temp);
}
table_2.appendChild(row_temp);
}
table_1.setAttribute("border","1");
table_1.appendChild(table_2);
document.body.appendChild(table_1);

}
//-->
</SCRIPT>
</HEAD>

<BODY>
<TABLE border="1" width="300">
<TR>
<TD οnmοusedοwn="dragStart();" οndrag="draging();" οndragend="dragEnd();" >sdfasdfas</TD>
</TR>
<TR>
<TD οnmοusedοwn="dragStart();" οndrag="draging();" οndragend="dragEnd();" >34535345</TD>
</TR>
</TABLE>
<input type="text" name="cmbLevel1"/>

<SELECT NAME="ejej" style="width:220px;">
</SELECT>
<div id="xx"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
createTable();
//-->
</SCRIPT>
</BODY>
</HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值