鼠标移动可改变DIV的大小

DIV固定在页面的某个位置,不可拖拽

位于页面左边,鼠标点击且移动,向右移拉大,向左移缩小:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>DIV位于页面左边,点击鼠标且左右移动可改变其宽度</title>
        <style type="text/css">
            .box{
                width: 100px;
                height:200px;
                border:2px solid red;
                position: absolute;
                top: 10px;
                left: 10px;
                cursor: e-resize;
            }
            .sonBox{
                width:100%;
                height:100%;
                cursor: default;
            }
        </style>
    </head>
    <body>
        <div id="box" class="box"  onmousedown="startDrag()" >
            <div class="sonBox" >
            </div>
        </div>
        <script type="text/javascript">
            var finalWidth = 100; //最后的宽度
            var wi = 100; //初始宽度
            var dragable = false;//默认不可拖拽
            var oldW = '';//记录第一次的鼠标位置
            var startDrag = function(event){
                dragable = true;
                var e=event?event:window.event;
                oldW = e.pageX; //记录第一次的鼠标位置
                //鼠标松开
                document.onmouseup=function(){
                    if(dragable){
                        finalWidth = wi;
                        dragable = false;
                    };
                };
                //鼠标指针移动
                document.onmousemove = function(event){
                    if(dragable){
                        var e=event?event:window.event;
                        var box = document.getElementById('box');
                        wi =  e.pageX - oldW  + parseInt(finalWidth);
                        if(wi<100 || wi==100){//div最低宽度
                            box.style.width = '100px';wi = '100px';
                            return;
                        }
                        if(wi>400 || wi==400){//div最高宽度
                            box.style.width = '400px';wi = '400px';
                            return;
                        }
                        box.style.width = wi + 'px';
                    };
                };
            };
        </script>
    </body>
</html>

1539ed656e9f00b2a59db9bbe3e46c63f43.jpg

位于页面右边,鼠标点击且移动,向右移缩小,向左移拉大:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>DIV位于页面右边,点击鼠标且左右移动可改变其宽度</title>
        <style type="text/css">
            .box{
                width: 100px;
                height:200px;
                border:2px solid red;
                position: absolute;
                top: 10px;
                right: 10px;
                cursor: e-resize;
            }
            .sonBox{
                width:100%;
                height:100%;
                cursor: default;
            }
        </style>
    </head>
    <body>
        <div id="box" class="box"  onmousedown="startDrag()" >
            <div class="sonBox" >
            </div>
        </div>
        <script type="text/javascript">
            var finalWidth = 100; //最后的宽度
            var wi = 100; //初始宽度
            var dragable = false;//默认不可拖拽
            var oldW = '';//记录第一次的鼠标位置
            var startDrag = function(event){
                dragable = true;
                var e=event?event:window.event;
                oldW = e.pageX; //记录第一次的鼠标位置
                //鼠标松开
                document.onmouseup=function(){
                    if(dragable){
                        finalWidth = wi;
                        dragable = false;
                    };
                };
                //鼠标指针移动
                document.onmousemove = function(event){
                    if(dragable){
                        var e=event?event:window.event;
                        var box = document.getElementById('box');
                        wi = oldW - e.pageX + parseInt(finalWidth);
                        if(wi<100 || wi==100){//div最低宽度
                            box.style.width = '100px';wi = '100px';
                            return;
                        }
                        if(wi>400 || wi==400){//div最高宽度
                            box.style.width = '400px';wi = '400px';
                            return;
                        }
                        box.style.width = wi + 'px';
                    };
                };
            };
        </script>
    </body>
</html>

3699a61200db80e39be962f96c4bec5fa0c.jpg

位于页面上边,鼠标点击且移动,向上移缩小,向下移拉大:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>DIV位于页面上边,点击鼠标且上下移动可改变其高度</title>
        <style type="text/css">
            .box{
                width: 200px;
                height:100px;
                border:2px solid red;
                position: absolute;
                top: 10px;
                left: 10px;
                cursor: s-resize;
            }
            .sonBox{
                width:100%;
                height:100%;
                cursor: default;
            }
        </style>
    </head>
    <body>
        <div id="box" class="box"  onmousedown="startDrag()" >
            <div class="sonBox" >
            </div>
        </div>
        <script type="text/javascript">
            var finalHeight = 100; //最后的高度
            var he = 100; //初始高度
            var dragable = false;//默认不可拖拽
            var oldW = '';//记录第一次的鼠标位置
            var startDrag = function(event){
                dragable = true;
                var e=event?event:window.event;
                oldW = e.pageY; //记录第一次的鼠标位置
                document.onmouseup = function(){
                    if(dragable){
                        finalHeight = he;
                        dragable = false;
                    };
                };
                document.onmousemove = function(event){
                    if(dragable){
                        var e=event?event:window.event;
                        var box = document.getElementById('box');
                        he =  e.pageY - oldW  + parseInt(finalHeight);
                        if(he<100 || he==100){//div最低高度
                            box.style.height = '100px';he = '100px';
                            return;
                        }
                        if(he>400 || he==400){//div最高高度
                            box.style.height = '400px';he = '400px';
                            return;
                        }
                        box.style.height = he + 'px';
                    };
                };
            };
        </script>
    </body>
</html>

d8177707421b317b6b7c490642424344e5d.jpg

位于页面下边,鼠标点击且移动,向上移拉大,向下移缩小:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>DIV位于页面下边,点击鼠标且上下移动可改变其高度</title>
        <style type="text/css">
            .box{
                width: 200px;
                height:100px;
                border:2px solid red;
                position: absolute;
                bottom: 10px;
                left: 10px;
                cursor: s-resize;
            }
            .sonBox{
                width:100%;
                height:100%;
                cursor: default;
            }
        </style>
    </head>
    <body>
        <div id="box" class="box"  onmousedown="startDrag()" >
            <div class="sonBox" >
            </div>
        </div>
        <script type="text/javascript">
            var finalHeight = 100; //最后的高度
            var he = 100; //初始高度
            var dragable = false;//默认不可拖拽
            var oldW = '';//记录第一次的鼠标位置
            var startDrag = function(event){
                dragable = true;
                var e=event?event:window.event;
                oldW = e.pageY; //记录第一次的鼠标位置
                document.onmouseup = function(){
                    if(dragable){
                        finalHeight = he;
                        dragable = false;
                    };
                };
                document.onmousemove = function(event){
                    if(dragable){
                        var e=event?event:window.event;
                        var box = document.getElementById('box');
                        he = oldW - e.pageY + parseInt(finalHeight);
                        if(he<100 || he==100){//div最低高度
                            box.style.height = '100px';he = '100px';
                            return;
                        }
                        if(he>400 || he==400){//div最高高度
                            box.style.height = '400px';he = '400px';
                            return;
                        }
                        box.style.height = he + 'px';
                    };
                };
            };
        </script>
    </body>
</html>

52d821ca29cb69868e977c1d43baa761ccd.jpg

转载于:https://my.oschina.net/u/3026585/blog/1942070

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值