JAVASCRIPT+DHTML实现表格拖动

本文系作者原创,如要转贴,请保留以下信息:

http://blog.csdn.net/hunkdong/archive/2005/08/11/451169.aspx

 

自已做的,本来想在网上找前辈们做的,可是总找不到这种例子,要么找出来的太复杂,

要么就没法用,索性自己写了一个.看看还可以用!贡献出来,估计和我一样的菜鸟用的着!

 

代码如下:

<html>

<style>

    body{      

        font-size: 9pt ;

    }  

    table,th,td{

        font-size: 9pt ;

    }

    .lsitTalbe{

        table-layout:fixed;

        width:30%;

        border-collapse:collapse;

        border-color:#507010;

        color:#003300;

    }

    .pageda{

        font-family:Webdings;

        font-size: 12pt ;

        color:#CCCCCC;

        cursor:default;

    }

    .pageua{

        font-family:Webdings;

        font-size: 12pt ;

    }

    .even{

        background:#e 8f 8d0;

    }

    .odd{

        background:#f8fcf0;

    }

    .header{

        background:a0dc40;

        color:003300;

    }

 </style>

<head>

    <TITLE>JAVASCRIPT+DHTML实现表格拖动DEMO</TITLE>

    < META NAME="Generator" CONTENT="EditPlus">

    < META NAME="Author" CONTENT="Hunk Dong">

</head>

<body>

<br>

JAVASCRIPT+DHTML实现表格拖动 按住&nbsp;<b>1</b>&nbsp;即可拖动

<hr width="30%" align="left">

<table class="lsitTalbe" border="1" cellspacing="1" cellpadding="1" οnmοusedοwn="mousedown()"   οnmοuseup="mouseup()"   οnmοusemοve="mousemove()" >

    <tr class="header">

        <th width="10%">1</th>

        <th width="10%">2</th>

        <th width="40%">3</th>

        <th width="40%">4</th>

    <tr>

    <tr class="even" id="tr_1">   

       

        <TD style="cursor:move" title="按住可拖动">1</TD>

        <TD ><INPUT class=inputStyle id=chkTaskItem_3 type=checkbox value=3 name=chkTaskItem></TD>

        <TD ><INPUT class=inputStyle id=txtTaskName_3 type=txtTaskName  size=25 name=txtTaskName value="test1"></TD>

        <TD >test1</TD>    

    </tr>

   

     <tr class="odd" id="tr_2"> 

        <TD style="cursor:move" title="按住可拖动">2</TD>

        <TD ><INPUT class=inputStyle id=chkTaskItem4 type=checkbox value=4 name=chkTaskItem></TD>

        <TD ><INPUT class=inputStyle id=txtTaskName_4 type=txtTaskName  size=25 name=txtTaskName value="test2"></TD>

        <TD >test2</TD>      

    </tr>

 

     <tr class="even" id="tr_3">

      

        <TD style="cursor:move" title="按住可拖动">3</TD>

         <TD ><INPUT class=inputStyle id=chkTaskItem_5 type=checkbox value=5 name=chkTaskItem></TD>

        <TD ><INPUT class=inputStyle id=txtTaskName_5 type=txtTaskName  size=25 name=txtTaskName value="test3"></TD>

        <TD >test3</TD>  

    </tr>

</table>

</body>

</html>

 

<script language="javaScript">

    var srcRowIndex;

    var targetRowIndex;

    var bDragMode ;

    var objDragItem ;

    var el;

 

    function window.onload(){

        initAdditionalElements();

    }

 

    function initAdditionalElements(){

        objDragItem = document.createElement("DIV");

        with(objDragItem.style){                    

            backgroundColor = "buttonshadow";

            cursor = "default";

            position = "absolute";

            filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=50)";

            zIndex = 3001;

            display  ="none";        

        }

        window.document.body.insertAdjacentElement("afterBegin", objDragItem);

    }   

 

 

    function mousedown(){   

        el = window.event.srcElement;

        if(el==null||el.tagName!="TD") return false;     

        if(el.cellIndex!=0 || el.parentNode.rowIndex<2) return false;

       

        srcRowIndex =  el.parentElement;      

 

        bDragMode = true ;       

        if (objDragItem!=null){

            with(objDragItem){

                innerHTML = el.parentElement.innerHTML;

                style.height = el.parentElement.offsetHeight;

                style.width  = el.parentElement.offsetWidth;

            }

        }

        el.setCapture();

    }

   

    function mouseup(){ 

   

        if(el==null || el.cellIndex!=0 || el.parentNode.rowIndex<2) return false;       

       

        targetRowIndex = el.parentElement;

        srcRowIndex.swapNode(targetRowIndex);

 

        bDragMode = false ;

        objDragItem.style.display  ="none";   

    }

 

   function mousemove(){

        el = window.event.srcElement;

       

        window.event.cancelBubble = false;

        cliX = window.event.clientX;

        cliY = window.event.clientY;

        if(bDragMode && objDragItem!=null){

            with(objDragItem){

                style.display  ="";

                style.posLeft = cliX +1;

                style.posTop  = cliY - offsetHeight/2;

            } 

        }

    }

</script>

 

直接Copy下来就可以用,欢迎大家一起讨论: dongpin9685@163.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值