| | |
| | | import { $ } from '@tarojs/extend'; |
| | | |
| | | // 直线方程,点斜式参数 |
| | | const createLineEquation = (p1, p2) => ({ |
| | | k: (p1.y - p2.y) / (p1.x - p2.x), |
| | | b: p1.y - k * p1.x, |
| | | }); |
| | | const createLineEquation = (p1, p2) => { |
| | | const k = (p1.y - p2.y) / (p1.x - p2.x); |
| | | const b = p1.y - k * p1.x; |
| | | return { k, b }; |
| | | }; |
| | | const winWidth = window.innerWidth; |
| | | |
| | | export default { |
| | |
| | | let equationY = {}; |
| | | $img.on({ |
| | | touchstart: evt => { |
| | | startOffsetX = parseInt($img.css('left')); |
| | | startOffsetY = parseInt($img.css('top')); |
| | | startOffsetX = parseInt($img.css('left')) || 0; |
| | | startOffsetY = parseInt($img.css('top')) || 0; |
| | | startWidth = parseInt($img.css('width')) * scale; |
| | | if (evt.touches.length == 1) { |
| | | const { clientX, clientY } = evt.touches[0]; |
| | |
| | | { x: scale, y: startOffsetY } |
| | | ); |
| | | } |
| | | // 初始状态,不线性计算 |
| | | // 初始状态,不计算 |
| | | else { |
| | | equationX = equationY = { k: 0, b: 0 }; |
| | | } |
| | |
| | | } |
| | | } |
| | | // 修正位置 |
| | | const left = equationX.a * scale + equationX.b; |
| | | const top = equationY.a * scale + equationY.b; |
| | | const left = equationX.k * scale + equationX.b; |
| | | const top = equationY.k * scale + equationY.b; |
| | | // 渲染 |
| | | $img.css({ |
| | | transform: 'scale(' + scale + ')', |