js 拖动--动态改变div的宽高大小

index.html 如下:(可以新建一个index.html文件直接复制,打开运行)

<!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>Document</title>

</head>

<style>

    #panel {

        position: absolute;

        width: 200px;

        height: 200px;

        background: green;

    }

    #dragIcon {

        position: absolute;

        top: 0;

        right: 0;

        width: 20px;

        height: 20px;

        background: yellow;

        cursor: pointer;

    }

</style>

<script>

    window.onload = function () {

        // 1. 获取两个大小div

        var oPanel = document.getElementById('panel');

        var oDragIcon = document.getElementById('dragIcon');

        // 定义4个变量

        var disX = 0;//鼠标按下时光标的X值

        var disY = 0;//鼠标按下时光标的Y值

        var disW = 0; //拖拽前div的宽

        var disH = 0; // 拖拽前div的高

        //3. 给小div加点击事件

        oDragIcon.onmousedown = function (ev) {

            var ev = ev || window.event;

            disX = ev.clientX; // 获取鼠标按下时光标x的值

            disY = ev.clientY; // 获取鼠标按下时光标Y的值

            disW = oPanel.offsetWidth; // 获取拖拽前div的宽

            disH = oPanel.offsetHeight; // 获取拖拽前div的高

            document.onmousemove = function (ev) {

                var ev = ev || window.event;

                //拖拽时为了对宽和高 限制一下范围,定义两个变量

                var W = ev.clientX - disX + disW;

                var H = ev.clientY - disY + disH;

                if (W < 100) {

                    W = 100;

                }

                if (W > 1800) {

                    W = 1800;

                }

                if (H < 100) {

                    H = 100;

                }

                if (H > 1000) {

                    H = 1000;

                }

                oPanel.style.width = W + 'px';// 拖拽后物体的宽

                oPanel.style.height = H + 'px';// 拖拽后物体的高

            }

            document.onmouseup = function () {

                document.onmousemove = null;

                document.onmouseup = null;

            }

        }

    }

</script>



 

<body>

    <div id="panel">

        <div id="dragIcon"></div>

    </div>

</body>

</html>

猜你喜欢

转载自blog.csdn.net/wwf1225/article/details/129237276
今日推荐