-
zhangwei
2024-10-08 93a986bc80abdef75923054b9df9adb6e1ccff52
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// 本文件由FirstUI授权予四川政采招投标咨询有限公司(会员ID:1 6 3,营业执照号:  9  15 101313 3   20 0  6 19   3 K)专用,请尊重知识产权,勿私下传播,违者追究法律责任。
// #ifndef APP-PLUS || MP-WEIXIN || H5
export default {
    data() {
        return {
            startX: 0,
            startY: 0,
            lastLeft: 0,
            lastTop: 0,
            transform: ''
        }
    },
    methods: {
        touchstart(e) {
            if (this.direction === 'none') return;
            const touch = e.touches || e.changedTouches
            if (this.direction === 'all') {
                this.startX = touch[0].clientX
                this.startY = touch[0].clientY
            } else if (this.direction === 'vertical') {
                this.startY = touch[0].clientY
            } else {
                this.startX = touch[0].clientX
            }
 
        },
        getLeft(pageX) {
            var left = pageX - this.startX + this.lastLeft;
            left = left < -this.eLeft ? -this.eLeft : left;
            left = left > this.maxWidth ? this.maxWidth : left;
 
            return left
        },
        getTop(pageY, state) {
            var top = pageY - this.startY + this.lastTop;
            top = top < -this.eTop ? -this.eTop : top;
            top = top > this.maxHeight ? this.maxHeight : top;
 
            return top
        },
        touchmove(e) {
            if (this.direction == 'none') return;
            const touch = e.touches || e.changedTouches
            let pageX = touch[0].clientX,
                pageY = touch[0].clientY;
 
            let left = 0,
                top = 0;
            if (this.direction === 'all') {
                left = this.getLeft(pageX)
                this.startX = pageX
                top = this.getTop(pageY)
                this.startY = pageY
            } else if (this.direction === 'vertical') {
                top = this.getTop(pageY)
                this.startY = pageY
            } else {
                left = this.getLeft(pageX)
                this.startX = pageX
            }
            this.lastLeft = left
            this.lastTop = top
            this.transform = `translate3d(${left}px,${top}px,0)`
            this.change({
                left,
                top
            })
        }
    }
}
 
// #endif
 
// #ifdef APP-PLUS|| MP-WEIXIN || H5
export default {}
// #endif