javascript - 拖拽怎么按比列放大缩小
高洛峰
高洛峰 2017-04-11 11:04:49
[JavaScript讨论组]

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
怪我咯

谢邀~

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

迷茫

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;
        }
    }
黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号