moveFu.js 706 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { ref } from 'vue'
  2. export default function useMoveFu() {
  3. const flag = ref(false)
  4. const staX = ref(0)
  5. const moveX = ref(0)
  6. // 手指按住屏幕
  7. const touchstart = (x) => {
  8. staX.value = x
  9. flag.value = true
  10. }
  11. // 手指移动事件
  12. const touchmove = (x) => {
  13. if (flag.value ) {
  14. moveX.value = x
  15. }
  16. }
  17. // 手指抬起事件
  18. const touchend = (fu) => {
  19. if (moveX.value !== 0) {
  20. if (staX.value - moveX.value >= 10) {
  21. fu(1)
  22. } else if (staX.value - moveX.value <= 10) {
  23. fu(-1)
  24. }
  25. flag.value = false
  26. staX.value = 0
  27. moveX.value = 0
  28. }
  29. }
  30. return {
  31. touchstart,
  32. touchmove,
  33. touchend
  34. }
  35. }