拖拽的时候创建一个div,根据拖拽距离div改变大小,怎么让这个div按比例放大缩小,比如4:6,1:2
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;
}
}
13 回答12.9k 阅读
7 回答2k 阅读
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
5 回答1.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答942 阅读✓ 已解决
谢邀~
没get到你的问题,
不明白怎么获取拖拽距离? 拖拽元素点击事件:
function onclick(e){console.log(e)};+mouse move
按比例缩放?(这个规则一打眼看到这个需求不应该是根据逻辑自己定义的吗?)