站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题javascript 网页拖拽问题 急啊!!!!!!!!!!

javascript 网页拖拽问题 急啊!!!!!!!!!!

摘要: javascript 网页拖拽问题 急啊!!!!!!!!!!


javascript 实现网页拖拽的原理是什么啊?
大侠帮帮忙啊





<head>

DRAG the DIV





<script defer>

/****JoeLee************E-MAIL:hktx@163.com****QQ:48293707*****11:09 2006-2-9******/

var Drag={dragged:false,

ao:null,

tdiv:null,

dragStart:function(){

Drag.ao=event.srcElement;

if((Drag.ao.tagName=="TD")||(Drag.ao.tagName=="TR")){

Drag.ao=Drag.ao.offsetParent;

Drag.ao.style.zIndex=100;

}else

return;

Drag.dragged=true;

Drag.tdiv=document.createElement("div");

Drag.tdiv.innerHTML=Drag.ao.outerHTML;

Drag.ao.style.border="1px dashed red";

Drag.tdiv.style.display="block";

Drag.tdiv.style.position="absolute";

Drag.tdiv.style.filter="alpha(opacity=70)";

Drag.tdiv.style.cursor="move";

Drag.tdiv.style.border="1px solid #000000";

Drag.tdiv.style.width=Drag.ao.offsetWidth;

Drag.tdiv.style.height=Drag.ao.offsetHeight;

Drag.tdiv.style.top=Drag.getInfo(Drag.ao).top;

Drag.tdiv.style.left=Drag.getInfo(Drag.ao).left;

document.body.appendChild(Drag.tdiv);

Drag.lastX=event.clientX;

Drag.lastY=event.clientY;

Drag.lastLeft=Drag.tdiv.style.left;

Drag.lastTop=Drag.tdiv.style.top;

},

draging:function(){//&#65430;&#65432;&#65426;&#65386;:&#65413;&#65424;&#65398;&#65423;MOUSE&#65397;&#65412;&#65422;&#65403;&#65430;&#65411;

if(!Drag.dragged||Drag.ao==null)return;

var tX=event.clientX;

var tY=event.clientY;

Drag.tdiv.style.left=parseInt(Drag.lastLeft)+tX-Drag.lastX;

Drag.tdiv.style.top=parseInt(Drag.lastTop)+tY-Drag.lastY;

for(var i=0;i
var parentCell=Drag.getInfo(parentTable.cells[i]);

if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom){

var subTables=parentTable.cells[i].getElementsByTagName("table");

if(subTables.length==0){

if(tX>=parentCell.left&&tX<=parentCell.right&&tY>=parentCell.top&&tY<=parentCell.bottom){

parentTable.cells[i].appendChild(Drag.ao);

}

break;

}

for(var j=0;j
var subTable=Drag.getInfo(subTables[j]);

if(tX>=subTable.left&&tX<=subTable.right&&tY>=subTable.top&&tY<=subTable.bottom){

parentTable.cells[i].insertBefore(Drag.ao,subTables[j]);

break;

}else{

parentTable.cells[i].appendChild(Drag.ao);

}

}

}

}

}

,

dragEnd:function(){

if(!Drag.dragged)return;

Drag.dragged=false;

Drag.mm=Drag.repos(150,15);

Drag.ao.style.borderWidth="0px";

Drag.ao.style.borderTop="1px solid #3366cc";

Drag.tdiv.style.borderWidth="0px";

Drag.ao.style.zIndex=1;

},

getInfo:function(o){//&#65416;&#65377;&#65397;&#65411;&#65431;&#12539;

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;

},

repos:function(aa,ab){

var f=Drag.tdiv.filters.alpha.opacity;

var tl=parseInt(Drag.getInfo(Drag.tdiv).left);

var tt=parseInt(Drag.getInfo(Drag.tdiv).top);

var kl=(tl-Drag.getInfo(Drag.ao).left)/ab;

var kt=(tt-Drag.getInfo(Drag.ao).top)/ab;

var kf=f/ab;

return setInterval(function(){if(ab<1){

clearInterval(Drag.mm);

Drag.tdiv.removeNode(true);

Drag.ao=null;

return;

}

ab--;

tl-=kl;

tt-=kt;

f-=kf;

Drag.tdiv.style.left=parseInt(tl)+"px";

Drag.tdiv.style.top=parseInt(tt)+"px";

Drag.tdiv.filters.alpha.opacity=f;

}

,aa/ab)

},

inint:function(){//&#65395;&#65404;&#65403;&#65391;

for(var i=0;i
var subTables=parentTable.cells[i].getElementsByTagName("table");

for(var j=0;j
if(subTables[j].className!="dragTable")break;

subTables[j].rows[0].className="dragTR";

subTables[j].rows[0].attachEvent("onmousedown",Drag.dragStart);

}

}

document.onmousemove=Drag.draging;

document.onmouseup=Drag.dragEnd;

}

//end of Object Drag

}

Drag.inint();






function _show(str){

var w=window.open('','');

var d=w.document;

d.open();

str=str.replace(/=(?!")(.*?)(?!")( |>)/g,"=/"$1/"$2");

str=str.replace(/(<)(.*?)(>)/g,"&lt;$2&gt;
");

str=str.replace(//r/g,"
/n");

d.write(str);

}

</script>

</head>

<body>

<table border="0" cellpadding="0" cellspacing="10" width="100%" height=500 id="parentTable">

<tr >

<td width="25%" valgin="top">

<table border=0 class="dragTable" cellspacing="0">

<tr>

<td>GMAIL</td>

</tr>

<tr>

<td>&#65428;&#65437;&#65418;&#65393;&#65422;&#65438;&#65399;&#65384;&#65423;&#65428;&#65418;&#65406;GMAIL&#65412;&#65434;&#65416;&#65437;</td>

<tr>

</table><table border=0 class="dragTable" cellspacing="0">

<tr>

<td>&#65424;&#65410;&#65408;&#65419;&#65420;衲&#63729;</td>

</tr>

<tr>

<td>&#65405;簇&#65418;&#65421;&#63730;&#65398;&#65427;&#65398;&#65408;&#65411;&#65413;&#65408;鈼W28 2&#65421;&#65386;&#65426;&#63729;&#65415;貳&#65381;&#65413;莎&#65388;&#65404;&#65398;&#65393;萢&#65433;&#65414;菴&#65393;&#65379;&#65402;&#65424;&#65409;&#65404;&#65386;&#65419;&#65401;&#65424;&#65408;&#65423;&#65394;&#65412;&#65436;&#65426;&#65428;&#65401;&#65434;&#65406;&#12539;&#65405;
&#65427;&#65377;&#65398;&#65416;&#65396;鋙&#65397;&#65396;&#65396;&#65423;&#65410;&#65404;&#65421;&#65410;&#65404;&#65399;&#65384;&#65424;&#65410;&#65417;酩&#65392;&#65429;&#65392;&#65398;&#65388;&#65392;&#65410;&#65398;&#65420;&#65397;&#65408;&#65419;&#65433;&#65403;&#65388;&#65379;&#65402;&#65430;&#65424;&#65402;&#65387;&#65395;&#65386;&#65430;&#65415; &#65411;&#65408;&#65404;&#65427;&#65418;&#65385;&#65408;莨&#63729;</td>

<tr>

</table>

<table border=0 class="dragTable" cellspacing="0">

<tr>

<td>&#65405;&#65401;&#65397;&#12539;/td>

</tr>

<tr>

<td>&#65406;&#65385;&#65401;耘&#65439;&#65430;&#65424;&#65398;&#65423;4&#65424;&#65377;&#65418;&#65393;20&#65409;&#65433;&#65407;&#65421;&#65399;&#65397;&#65402;&#65402;&#65421;昉&#12539;&#65430;&#65424;&#65401;&#12539;a class='Channel_KeyLink' href='http://www.51it.org/news/index.html'>&#65424;&#65410;&#65422;&#65413;&#65421;&#12539;&#65402;&#63730;&#65393;&#65393;&#65399;&#65430;&#65417;&#12539;- &#65419;&#65424; 235 &#65423;犹&#65432;&#65393;&#65384;&#65397;&#65408; &raquo;&#65401;&#63730;&#65410;棏&#65401;&#65426;&#65425;&#65427;&#65424;&#65431;&#65436;&#65408;柀&#65419;&#65425;&#65377;

&#65405;箙&#65413;&#65416;&#65429;&#65393;&#65384;&#65393;&#65384;&#65426;&#65397;&#65404;&#65391;&#65421;&#65413; - &#65419;&#65424; 489 &#65423;犹&#65432;&#65393;&#65384;&#65397;&#65408; &raquo;&#65395;&#65410;&#65419;&#65390;&#65393;簗&#65415;&#65409;&#65405;&#65392;&#65398;&#65401;&#65432;&#65423;&#65397;&#65410;鮃&#65395;&#65430;&#65414;&#65428;&#12539;&#65439; &#65422;莠&#65402;&#65395;&#65407;&#65393;&#65384; - &#65419;&#65424; 179 &#65423;犹&#65432;&#65393;&#65384;&#65397;&#65408; &raquo;</td>

<tr>

</table>

</td>

<td width="25%">

<table border=0 class="dragTable" cellspacing="0">

<tr>

<td>&#65430;&#65424;&#65401;&#65432;&#65396;袂&#65434;&#65423;&#65439;</td>

</tr>

<tr>

<td>&#65424;&#65410;&#65412;&#12539;&#65424;&#65415;鰺&#65433;&#65397;&#65437; &#65419;&#65387;&#65411;蠢&#65384;&#65397;&#65421;&#65404;&#65435;&#65421;&#65414;&#65404;&#12539;&#65430;&#65429;&#65427;&#65434;&#65397;&#65416;&#65397;&#65405;&#65409;&#65419;&#65379;&#65388;&#65427;&#65395;&#65420;&#65385;6600GT&#65426;&#65403;&#65405;&#65397;&#65405;&#65397;&#65426;&#65403;&#65392;&#65433; &#65410;&#65438;&#65404;&#65404;G15&#65427;&#65422;&#65423;&#65399;&#65404;&#12539;&#65420;&#65416;&#65416;&#65409;&#65382;&#65396;&#65433;&#65423;奣&#65388;&#65396;彧&#65402;&#65404;&#65435;&#65405;&#12539;29&#65428;&#65386; </td>

<tr>

</table></td>

<td width="25%">

<table border=0 class="dragTable" cellspacing="0">

<tr>

<td>&#65421;&#65431;&#65417;&#65420;&#65426;&#65397;</td>

</tr>

<tr>

<td>&#65417;&#65423;&#65402;&#65379;GDP&#65428;&#65381;&#65412;&#12539;&#65430;&#65403;&#65432;&#65410;萼&#65382;&#65398;&#65428;&#65399;&#65396;&#65415;耘&#12539;&#65430;&#65424;&#65401;昻&#65388;&#65414;&#65386;&#65418;&#65430;&#65398;&#65428;&#65407;&#65401;&#65413;&#65399;&#65411;&#65419;&#65426;&#12539;&#65426;&#65424;&#65433;&#65413;&#65420;&#65412;&#65423;&#65399;&#65405;&#65414;﨤&#65397; &#65395;&#65380;&#65392;&#65394;&#65412;&#65393;&#65415;昕&#65439;&#65429;銧蠕&#65395;&#65421;篷&#65423;&#65418;&#65424;</td>

<tr>

</table> <table border=0 class="dragTable" cellspacing="0">

<tr>

<td>&#65402;&#65434;&#65407;&#65417;&#65420;&#12539;&#65410;</td>

</tr>

<tr>

<td>&#65417;&#65423;&#65402;&#65379;GDP&#65428;&#65381;&#65412;&#12539;&#65430;&#65403;&#65432;&#65410;萼&#65382;&#65398;&#65428;&#65399;&#65396;&#65415;耘&#12539;&#65430;&#65424;&#65401;昻&#65388;&#65414;&#65386;&#65418;&#65430;&#65398;&#65428;&#65407;&#65401;&#65413;&#65399;&#65411;&#65419;&#65426;&#12539;&#65426;&#65424;&#65433;&#65413;&#65420;&#65412;&#65423;&#65399;&#65405;&#65414;﨤&#65397; &#65395;&#65380;&#65392;&#65394;&#65412;&#65393;&#65415;昕&#65439;&#65429;銧蠕&#65395;&#65421;篷&#65423;&#65418;&#65424;</td>

<tr>

</table>

</td>

</tr>

</table>

<input type="button" value="SHOW" onClick="_show(document.documentElement.innerHTML)" />

</body>




以上两贴合起来就是你需要的代码


非常感谢
您真是大侠



↑返回目录
前一篇: cmp中为什么关联字段只能在ejbPostCreate里设置?
后一篇: 从sqlserver2000表中取数据,输出到文件当中,当数据类型是nvarchar的时候,取出来是null,不知道怎么回事,别的数据类型好使,代码见内