拖拽怎么按比列放大缩小

发布于 2022-09-04 09:09:41 字数 59 浏览 12 评论 0

拖拽的时候创建一个div,根据拖拽距离div改变大小,怎么让这个div按比例放大缩小,比如4:6,1:2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夏夜暖风 2022-09-11 09:09:41

谢邀~

没get到你的问题,
不明白怎么获取拖拽距离? 拖拽元素点击事件: function onclick(e){console.log(e)};+mouse move
按比例缩放?(这个规则一打眼看到这个需求不应该是根据逻辑自己定义的吗?)

豆芽 2022-09-11 09:09:41

window.onload = function(){

        /*
            1)摁住#box
                绑定mousedown
            2)移动鼠标
                * 绑定mousemove事件
                * 摁住后移动鼠标才有效果
                * 改变#box的top,left
         */
        var box = document.getElementById('box');
        // 给#box绑定mousedown事件
        box.onmousedown = function(e){
            // 鼠标摁下时,光标位置距离#box的偏移量
            var ox = e.offsetX;
            var oy = e.offsetY;

            // 怎么保证移动的时候鼠标已经摁下
            document.onmousemove = function(evt){
                box.style.left = evt.clientX - ox +'px';
                box.style.top = evt.clientY - oy +'px';

                evt.preventDefault();
            }

            // 阻止默认行为
            e.preventDefault();
        }

        // 当鼠标松开时,清除mousemove事件
        window.onmouseup = function(){
            document.onmousemove = null;
        }
    }
情痴 2022-09-11 09:09:41

如果是业务需求,可以使用jquery-UI的按比例缩放。Jquery-UI

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文