首页新闻找找看学习计划

下面的javascript如何实现拖拽过度效果?

0
悬赏园豆:10 [已解决问题] 解决于 2014-03-23 22:15

      因为要实现拖拽后把拖拽的行和被拖拽的行更新到数据库中,所以只需要获取源行和目标行就行。下面的代码其实是可以识别源行和目标行的,但是拖拽的效果没有出来。网上看到其它人写的都很复杂,而且都用到了setCapture和releaseCapture,但其过程都需要计算坐标,我觉得拖拽在我这个层次应该是不需要计算坐标的。

  不知下面的代码如何改变可以实现拖拽的过程效果,现在拖拽后,虽然可获得结果值,但拖动中会选中所有鼠标经过的行,界面不友好。

<html>
<head>
    <title>拖动行测试</title>
    <script type="text/javascript">
        var beginMoving = false;
        var objSource = null;
        function MouseDownToMove(obj) {
            beginMoving = true;
            objSource = obj;
        }

        function MouseUpToMove(obj) {
            if (!beginMoving)
                return false;
            else
                beginMoving = false;
            if (objSource != obj)
                alert(objSource.id + " 被拖拽" + obj.id);
        }
        </script>
</head>
<body>
    <table cellspacing="5" cellpadding="5" border="1">
        <tr id="1" style="cursor: move;" onmousedown='MouseDownToMove(this)' onmouseup='MouseUpToMove(this);'>
            <td>
                111111111111
            </td>
        </tr>
        <tr id="2" style="cursor: move;" onmousedown='MouseDownToMove(this)' onmouseup='MouseUpToMove(this);'>
            <td>
                222222222222
            </td>
        </tr>
        <tr id="3" style="cursor: move;" onmousedown='MouseDownToMove(this)' onmouseup='MouseUpToMove(this);'>
            <td>
                333333333333
            </td>
        </tr>
    </table>
</body>
沧海一杰的主页 沧海一杰 | 初学一级 | 园豆:48
提问于:2014-03-18 18:35
< >
分享
最佳答案
0

已解决。

沧海一杰 | 初学一级 |园豆:48 | 2014-03-18 22:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册