12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- var startX
- var startY
- class touch {
- constructor() {
- }
- _touchstart(e, items) {
-
- items.forEach(function (v, i) {
- if (v.isTouchMove)
- v.isTouchMove = false;
- })
- startX = e.changedTouches[0].clientX
- startY = e.changedTouches[0].clientY
- return items
- }
- _touchmove(e, items,key) {
- const id = e.currentTarget.dataset.id,
- touchMoveX = e.changedTouches[0].clientX,
- touchMoveY = e.changedTouches[0].clientY,
-
- angle = this._angle({
- X: startX,
- Y: startY
- }, {
- X: touchMoveX,
- Y: touchMoveY
- });
- items.forEach(function (v, i) {
- v.isTouchMove = false
-
- if (Math.abs(angle) > 30) return;
- if (v[key] == id) {
- if (touchMoveX > startX)
- v.isTouchMove = false
- else
- v.isTouchMove = true
- }
- })
- return items
- }
- _angle(start, end) {
- var _X = end.X - start.X,
- _Y = end.Y - start.Y
-
- return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
- }
- }
- export default touch
|