手动控制的话mousedown配合mousemove事件修改scale样式,可做放大。 指定只能拖拽元素边界位置放大缩小的话,建议用几个元素模拟边框,因为旋转一定角度后,不宜判断边界位置。 设置rotate和scale的时候将角度和放大倍数存在dom对象上。mousemove时读取这两个数据,用Math.sin(x)或cos算垂直边界方向上的移动距离,假设是x,再用x/(初始宽高*宽高方向的放大倍数)+原放大倍数算呗。
手动控制的话
mousedown
配合mousemove
事件修改scale
样式,可做放大。指定只能拖拽元素边界位置放大缩小的话,建议用几个元素模拟边框,因为旋转一定角度后,不宜判断边界位置。
设置rotate和scale的时候将角度和放大倍数存在dom对象上。mousemove时读取这两个数据,用Math.sin(x)或cos算垂直边界方向上的移动距离,假设是x,再用x/(初始宽高*宽高方向的放大倍数)+原放大倍数算呗。