JS实现拖动div改变大小

js 拖动--动态改变div的宽高大小 / 拖拽后物体的高。// 拖拽后物体的宽。// 获取拖拽前div的高。// 获取拖拽前div的宽。// 获取鼠标按下时光标x的值。// 获取鼠标按下时光标Y的值。// 拖拽前div的高。//拖拽前div的宽。 阅读详情
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
    .upBtn,.downBtn,.upLeftBtn,.upRightBtn,.downLeftBtn,.downRightBtn,.centerLeftBtn,.centerRightBtn
    { position:absolute; background:#CC0000; width:9px; height:9px; z-index:5; }
    .upBtn { top:-4px; left:50%; cursor:n-resize; }
    .downBtn { bottom:-4px; left:50%; cursor:s-resize; }
    .upLeftBtn { top:-4px; left:-4px; cursor:nw-resize; }
    .upRightBtn { top:-4px; right:-4px; cursor:ne-resize; }
    .downLeftBtn { bottom:-4px; left:-4px; cursor:sw-resize; }
    .downRightBtn { bottom:-4px; right:-4px; cursor:se-resize; }
    .centerLeftBtn { top:50%; left:-4px; cursor:w-resize; }
    .centerRightBtn { top:50%; right:-4px; cursor:e-resize; }
    </style>
    <script type="text/javascript" >
        function $(id) {
            return document.getElementById(id);
        }
        function getEvent(e) {
            return e || window.event;
        }
        function getLocation(e) {
            return {
                x: e.x || e.clientX,
                y: e.y || e.clientY
            }
        }
        var obj = null; // 当前操作的对象
        var preview = null; // 要处理的对象
        var clickX = 0; // 保留上次的X轴位置
        var clickY = 0; // 保留上次的Y轴位置
        // 鼠标点击
        var onDragDown = function (e, type) {
            e = getEvent(e);
            var location = getLocation(e);
            clickY = location.y;
            clickX = location.x;
            obj = this;
            obj.operateType = type;
            preview = $("preview");
            return false;
        };
        var onUpBtnDown = function (e) {
            onDragDown(e, "n");
        };
        var onDownBtnDown = function (e) {
            onDragDown(e, "s");
        };
        var onCenterLeftBtnDown = function (e) {
            onDragDown(e, "w");
        };
        var onCenterRightBtnDown = function (e) {
            onDragDown(e, "e");
        };
        var onUpLeftBtnDown = function (e) {
            onDragDown(e, "nw");
        };
        var onUpRightBtnDown = function (e) {
            onDragDown(e, "ne");
        };
        var onDownLeftBtnDown = function (e) {
            onDragDown(e, "sw");
        };
        var onDownRightBtnDown = function (e) {
            onDragDown(e, "se");
        };
        var onDragUp = function () {
            document.body.style.cursor = "auto";
            obj = null;
        };
        var move = function (operateType, location, preview) {
            document.body.style.cursor = location + "_resize";
            switch (operateType) {
                case "e":
                    var add_length = clickX - location.x;
                    clickX = location.x;
                    var length = parseInt(preview.style.width) - add_length;
                    preview.style.width = length + "px";
                    break;
                case "s":
                    var add_length = clickY - location.y;
                    clickY = location.y;
                    var length = parseInt(preview.style.height) - add_length;
                    preview.style.height = length + "px";
                    break;
                case "w":
                    var add_length = clickX - location.x;
                    clickX = location.x;
                    var length = parseInt(preview.style.width) + add_length;
                    preview.style.width = length + "px";
                    preview.style.left = clickX + "px";
                    break;
                case "n":
                    var add_length = clickY - location.y;
                    clickY = location.y;
                    var length = parseInt(preview.style.height) + add_length;
                    preview.style.height = length + "px";
                    preview.style.top = clickY + "px";
                    break;
            }
        };      
        var onDragMove = function (e) {
            if (obj) {
                e = getEvent(e);
                var location = getLocation(e);
                switch (obj.operateType) {
                    case "n":
                        move("n", location, preview);
                        break;
                    case "s":
                        move("s", location, preview);
                        break;
                    case "w":
                        move("w", location, preview);
                        break;
                    case "e":
                        move("e", location, preview);
                        break;
                    case "nw":
                        move("n", location, preview);
                        move("w", location, preview);
                        break;
                    case "ne":
                        move("n", location, preview);
                        move("e", location, preview);
                        break;
                    case "sw":
                        move("s", location, preview);
                        move("w", location, preview);
                        break;
                    case "se":
                        move("s", location, preview);
                        move("e", location, preview);
                        break;
                }
            }
            return false;
        };
        window.onload = function () {
            $("upBtn").onmousedown = onUpBtnDown;
            $("downBtn").onmousedown = onDownBtnDown;
            $("centerLeftBtn").onmousedown = onCenterLeftBtnDown;
            $("centerRightBtn").onmousedown = onCenterRightBtnDown;
            $("upLeftBtn").onmousedown = onUpLeftBtnDown;
            $("upRightBtn").onmousedown = onUpRightBtnDown;
            $("downLeftBtn").onmousedown = onDownLeftBtnDown;
            $("downRightBtn").onmousedown = onDownRightBtnDown;
            document.onmousemove = onDragMove;
            document.onmouseup = onDragUp;
        }
    </script>
</head>
<body>
<div id="preview" style="width:200px; height:200px; border:1px solid gray; position:absolute; left:200px; top:100px;" >
<div class="upBtn" id="upBtn"></div>
<div class="downBtn" id="downBtn"></div>
<div class="upLeftBtn" id="upLeftBtn"></div>
<div class="upRightBtn" id="upRightBtn"></div>
<div class="downLeftBtn" id="downLeftBtn"></div>
<div class="downRightBtn" id="downRightBtn"></div>
<div class="centerLeftBtn" id="centerLeftBtn"></div>
<div class="centerRightBtn" id="centerRightBtn"></div>
</div>
</body>
</html>


js通过八个点 拖动改变div大小的实现方法 代码如下:<html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>Resize</title> <style type=”text/css”> #rRightDown,#rLeftDown,#rLeftUp,#rRightUp,#rRight,#rLeft,#rUp,#rDown{ position:absolute;background:#C00;width:6px;height:6px;z-index:5;font-size:0;} #rLeftDown,#rRig 立即下载

相关推荐

高速电路的信号完整性分析

摘要:介绍了高速PCB设计中的信号完整性概念以及破坏信号完整性的原因,从理论和计算的层面上分析了高速电路设计中反射和串扰的形成原因,并介绍了IBIS仿真。 关键词:信号完整性 反射 串扰 IBIS仿真 随着半导体技术和深压微米工艺的不断发展,IC的开关速度目前已经从几十MHz增加到几百MHz,甚至达到几GHz。在高速PCB设计中,工程师经常会碰到误触发、阻尼振荡、过冲、欠冲、串...

bh_wang的专栏 1431

js实现div的拖动放大缩小

js实现div的拖动放大缩小 效果 js实现div的拖动放大缩小 code: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">

geek123520的博客 2815

Linux系统下SAPGUI安装包选择与避坑指南

本文详细介绍了在Linux系统下选择和安装SAPGUI安装包的策略与避坑指南。重点解析了不同版本安装包的关键区别,特别是Linux版必须包含linux-lib.jar和linux64-lib.jar文件,避免误用Mac或Windows版导致的兼容性问题。文章还提供了针对Ubuntu、RHEL等不同Linux发行版的安装实战指南,以及常见报错的解决方案,帮助用户顺利完成SAPGUI的安装与配置。

weixin_28366353的博客 673

JavaScript实现鼠标拖拽调整div大小

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body, html { width: 100%; height: 100%; margin: 0; } #container { width: 200px; height: 200px; .

beichen3997的博客 4868

STM32F407 BootLoader实战:从零搭建到OTA升级(附完整源码)

本文详细介绍了为STM32F407微控制器从零搭建BootLoader并实现稳定OTA升级的完整实战指南。内容涵盖Flash分区规划、链接脚本配置、核心跳转逻辑、中断向量表重定向、可靠的升级流程设计,并深入探讨了双备份与回滚机制以提升工业级可靠性。文章提供了可直接使用的代码框架,并分享了关键调试技巧,帮助开发者快速掌握STM32远程固件更新技术。

weixin_29192211的博客 439

电商产品组合策略:引流品与利润品的实战方法论

在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备

weixin_42522009的博客 350

js实现鼠标拖拽改变div大小的同时另一个div宽度也变化

【代码】js实现鼠标拖拽改变div大小的同时另一个div宽度也变化。

Mr_yangx的博客 2000

一文掌握 MongoDB 详细安装与配置(Windows / Linux / macOS 全平台)

本文详细介绍了MongoDB社区版7.0+在Windows、Linux和macOS三大操作系统上的完整安装、配置与安全加固流程。主要内容包括:各平台推荐安装方式(Windows使用MSI安装包、Linux通过官方仓库、macOS通过Homebrew)、基本配置参数说明、服务启动方法以及关键安全措施(如创建管理员用户和启用身份验证)。文章还提供了系统最低要求、下载地址、数据目录设置建议以及生产环境使用注意事项,适合开发、测试及生产环境部署参考。

数据知道的博客 6710

(JS\VUE\REACT) div拖拽移动+控制大小(高度、宽度) 及 单独只控制div的宽度

JS div拖拽移动+控制大小(高度、宽度) 及 单独只控制div的宽度。适用与原生JS、vue、react等多种形式

weixin_56383764的博客 2828

matlab 一维相位解缠

一维相位解缠算法的matlab代码实现。

点云侠的博客 372

解决TexStudio编写LaTeX论文引用文献问题:正文引用处出现[?],参考文献也不显现

当我们利用LaTeX编写论文时,可能会出现引用参考文献时正文引用处出现?号,肯能的原因及解决方案如下: 问题一 忘记在\end{document}前面放\bibliographystyle{样式}和\bibliography{参考文献bib文件名}: \bibliographystyle{plain} \bibliography{sample} 其中, LaTeX 标准选项及其样式共有以下8种: plain,按字母的顺序排列,比较次序为作者、年度和标题. unsrt,样式同plain,只是按照引用的先后

左手の明天的博客 9527

php 页面拖动改变大小,js通过八个点拖动改变div大小的实现方法_javascript技巧

代码如下:Resize《script》var Sys = (function(ua){var s = {};s.IE = ua.match(/msie ([\d.]+)/)?true:false;s.Firefox = ua.match(/firefox\/([\d.]+)/)?true:false;s.Chrome = ua.match(/chrome\/([\d.]+)/)?true:fals...

weixin_39869378的博客 112

21天学会基于 Linux 的 NPU 固件开发--2.2 固件加载流程:request_firmware() 深度解析

本文深度解析Linux内核中NPU固件加载流程,重点剖析request_firmware()机制。内容涵盖:1)内核态与用户态的交互机制,包括同步/异步加载方式;2)NPU固件的特殊格式与加载逻辑;3)调试技巧与安全验证方案;4)提供最小化固件加载器实验。文章揭示了从文件系统到硬件初始化的完整链路,探讨了大模型时代面临的性能挑战与优化方案,如零拷贝加载技术,并提出了版本兼容性、断电恢复等关键问题的思考方向。

amy_mhd的博客 59

基于vue的用js实现鼠标拖拽改变div宽高

一、vue页面引入css和公共组件 <template> <div class="all"> <!-- 左右两行拖动 --> <div class="drag-main"> <h2>两列的左右拖动改变div大小</h2> <div id="twoBox" class="drag-two-box"> <div id="twoleft" class="drag-two-le.

你离优秀差多少 3267

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Js - 可拖动可改变大小div的实现代码

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml"> Dialog .dialogcontainter{height:400px; width:400px; border:1px solid #14495f; position:absolute; fo

TianGaojie123abc的专栏 3048

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Vue+js+css实现绘制div并进行拖动选区、移动、改变大小

需求:就是可以实现拖动一个方框,扔在一个图片上面,就可以在该图片上面绘制出新的div选区,可以对绘制的div进行移动、改变大小 html:拖动选区的方框 <div draggable="true" id="source" class="drag"></div> <div id="big_Img" draggable="true"> <img :style="imgHW" :src="fileUrl"> </div> mounte

weixin_42418774的博客 1746

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

js 拖动边框改变div的大小实现。

效果图: 代码: https://download.youkuaiyun.com/download/qq_42740797/15685211

PrimaryColor 1482

记一次在VUE项目中通过托拽div边框实现改变div大小

主要实现的功能如图 实现方式

weixin_45337695的博客 4993

边框处拖动鼠标改变div大小

边框处拖动鼠标改变div大小 改变层的大小-阿里西西WEB开发 { box-sizing: border-box; moz-box-sizing: border-box } #testDiv     { background-color: buttonface; background-repeat: repeat;                 back

dai0941的专栏 6208

vue中使用drag事件左右拖动div,改变宽高大小

1.vue中使用drag事件左右拖动div,改变宽高大小,2拖动改变div位置,宽高

qq_36093530的博客 3627

可以拖动的div

Document #div_wrapper{ width: 500px; height:500px; position: absolute; top: 50%; left: 50%; margin-left: -250px;

milijiangjun的博客 674

js拖动改变div的宽高

js拖动改变div的宽高2016年10月13日 16:20:52阅读数:3188&lt;p&gt;&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;style type="text/css&

廿四桥明月夜的博客 1375

鼠标拖动改变div高度

鼠标拖动改变div高度 !window.jQuery && document.write(''); html, body{ height: 100%; margin: 0; padding: 0; } #footer { position:fixed; bottom:0; left:0; width:100%; height:30px; background-color:#B8D0FA;

jac.song的专栏 3764
上一篇: mysql查询今天,昨天,近7天,近30天,本月,上一月数据方法
下一篇: js 实现鼠标按下 拖动div
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值