js拖拽div框

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>div 在指定区域内移动</title>
    <link rel="stylesheet" href="../BootStrap/css/bootstrap-table.css" />
    <link rel="stylesheet" href="../BootStrap/css/bootstrap.min.css" />
    <script type="text/javascript" src="../BootStrap/js/jquery.min.js"></script>
    <script type="text/javascript" src="../BootStrap/js/bootstrap-table.js"></script>
    <script type="text/javascript" src="../BootStrap/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="../BootStrap/js/bootstrap.js"></script>
    <script type="text/javascript" src="../BootStrap/js/Tbootstrap-table.js"></script>

    <style>
                /* #Delete{
                    display:none;
                }*/
                .wrap {
                    display: flex;
                    height: 20vh;
                }

                .bootstrap-table .fixed-table-container .table thead th {
                    background-color: #DCDCDC;
                    border: 1px solid #c5c5c5;
                }

                .table > tbody > tr > td:hover,
                .table > tbody > tr > th:hover,
                .table > tbody > tr:hover > td,
                .table > tbody > tr:hover > th {
                    background-color: #458bb6;
                    border-color: #458bb6;
                    cursor: pointer;
                    color: white;
                }

                .changeColor {
                    background-color: #31b0d5 !important;
                    color: white;
                }

                #open-file {
                    width: 100px;
                    height: 50px;
                    margin: auto;
                    border: 1px solid #5B5B5B;
                    border-radius: 5px;
                    background-color: #FCFCFC;
                    cursor: pointer;
                }

                    #open-file:hover {
                        background-color: #F0F0F0;
                    }

                .container {
                    width: 100%;
                    padding: 0;
                    background-color: none;
                }

                table {
                    color: #313131;
                }

                #listView {
                    padding: 0px;
                    margin-bottom: -1px;
                    min-height: 510px;
                    /* Avoid cutout if font or line is bigger */
                    font: inherit;
                }

                .product img {
                    width: 50px;
                    height: 50px;
                }

                .fixed-table-container fixed-height {
                    color: #2e2e2e;
                }

                h3 {
                    margin: 0;
                    padding: 3px 5px 0 0;
                    max-width: 96px;
                    overflow: hidden;
                    line-height: 1.1em;
                    font-size: .9em;
                    font-weight: normal;
                    text-transform: uppercase;
                    color: #999;
                }

                th, td {
                    border: 1px solid#999;
                }

                .t tr:focus:hover td {
                    cursor: pointer;
                    color: white;
                    background-color: #458bb6;
                    border-color: #458bb6;
                }

                .t tr:hover td {
                    cursor: pointer;
                    color: white;
                    background-color: #458bb6;
                    border-color: #458bb6;
                }

                .product p {
                    visibility: hidden;
                }

                #upload {
                    margin-bottom: 10px;
                }

                /*  th {
                        width: 20%;
                    }
        */
                /* .t td {
                        border-style: solid;
                        border-width: 0 0 0 1px;
                        padding: .4em .6em;
                        overflow: hidden;
                        line-height: 1.6em;
                        vertical-align: middle;
                        width: 20%;
                        border-color: #d5d5d5;
                        text-overflow: ellipsis
                    }*/

                .row th {
                    padding: .5em .6em .4em .6em
                }

                #datetimepicker1 {
                    width: 35%;
                    line-height: 1.65em;
                }

                #datetimepicker2 {
                    width: 35%;
                }

                div.k-grid-footer, div.k-grid-header {
                    padding-right: 0px;
                }

                body {
                    color: #73879C;
                    background: #303340;
                    /*#ECF0F1; #FCFCFC*/
                    /*font-family: "Helvetica Neue", Roboto, Arial, "Droid Sans", sans-serif;*/
                    font-family: Tahoma, SimSun, Arial, Helvetica, sans-serif;
                    font-size: 13px;
                    font-weight: 400;
                    line-height: 1.471;
                }

                .hidden {
                    display: none;
                }

                a {
                    color: #505050;
                }

                .form-control {
                    height: 29px;
                }

                table tr {
                    line-height: 1.6em;
                }
    </style>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        html,
        body {
            height: 100%;
        }

        #parent {
            position: relative;
            width: 100%;
            height: 100%;
            background-color: white;
        }

        #children {
            position: absolute;
            width: 60%;
            height: 60%;
            background-color: antiquewhite;
            cursor: move;
        }
    </style>

</head>

<body>
    <div id="parent">
        <div id="children" style="margin-left:20%;margin-top:10%">

            <div id="BOX" style="width:100%">
                <table border="1" width="50%" align=" center">
                    <!--在table中使用tr表示表格中的一行,有几个tr就有几行-->
                    <tr>
                        <!--在tr中使用td表示一个单元格,有几个td就有几个单元格-->
                        <td>A1</td>
                        <td>B1</td>
                        <td>C1</td>
                    </tr>
                </table>
            </div>

        
        </div>
    </div>
    <script>
        window.onload = function () {
            var parentNode = document.getElementById("parent");
            var childrenNode = document.getElementById("children");
            var disX = 0;
            var disY = 0;
            childrenNode.onmousedown = function (ev) {
                //鼠标事件对象
                var oEvent = ev || event;
                disX = oEvent.clientX - childrenNode.offsetLeft;
                disY = oEvent.clientY - childrenNode.offsetTop;

                document.onmousemove = function (ev) {
                    //鼠标事件对象
                    var oEvent = ev || event;
                    var l = oEvent.clientX - disX;
                    var t = oEvent.clientY - disY;

                    if (l < 50) {
                        l = 0;
                    } else if (l > parentNode.clientWidth - childrenNode.offsetWidth) {
                        l = parentNode.clientWidth - childrenNode.offsetWidth;
                    }
                    if (t < 50) {
                        t = 0;
                    } else if (t > parentNode.clientHeight - childrenNode.offsetHeight) {
                        t = parentNode.clientHeight - childrenNode.offsetHeight;
                    }

                    childrenNode.style.left = l + "px";
                    childrenNode.style.top = t + "px";

                    /**如果父盒子设置有marginTop和marginLeft则需要将其设置为0*/
                    childrenNode.style.marginLeft = 0;
                    childrenNode.style.marginTop = 0;
                }
                document.onmouseup = function () {
                    document.onmousemove = null;
                    document.onmouseup = null;
                }

                //阻止默认事件
                return false;
            }

        }
    </script>
</body>

</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值