diff --git a/app/components/home/HomeProcess.vue b/app/components/home/HomeProcess.vue index 0e27b73..ff31f68 100644 --- a/app/components/home/HomeProcess.vue +++ b/app/components/home/HomeProcess.vue @@ -43,13 +43,13 @@ v-for="(step, index) in steps" :key="step.id" :ref="el => setStepRef(el, index)" - class="process-step flex-shrink-0 w-[280px] md:w-[320px]" + class="process-step flex-shrink-0 w-[240px] md:w-[280px]" >
{{ index + 1 }} @@ -59,8 +59,8 @@
-
-
+
+
diff --git a/app/components/home/HomeTestimonials.vue b/app/components/home/HomeTestimonials.vue index 5e187db..1215a3c 100644 --- a/app/components/home/HomeTestimonials.vue +++ b/app/components/home/HomeTestimonials.vue @@ -12,7 +12,7 @@
-
+
{ } // 左右卡片 - const scale = 1 - Math.abs(diff) * 0.1 - const opacity = Math.max(0.3, 1 - Math.abs(diff) * 0.3) - const blur = Math.abs(diff) * 3 + const scale = 1 - Math.abs(diff) * 0.12 + const opacity = Math.max(0.5, 1 - Math.abs(diff) * 0.25) return { - transform: `translateX(calc(50vw - 50% + ${offset}px)) translateZ(-${Math.abs(diff) * 100}px) scale(${scale})`, + transform: `translateX(calc(50vw - 50% + ${offset}px)) scale(${scale})`, opacity: opacity, zIndex: 10 - Math.abs(diff), - filter: `blur(${blur}px)` } } -// 拖拽功能 -const startDrag = (e: MouseEvent) => { +// 拖拽功能(鼠标 + 触摸) +const startDrag = (e: MouseEvent | TouchEvent) => { isDragging.value = true - startX.value = e.clientX + startX.value = 'touches' in e ? e.touches[0].clientX : e.clientX if (carouselRef.value) { carouselRef.value.style.cursor = 'grabbing' } } -const onDrag = (e: MouseEvent) => { +const onDrag = (e: MouseEvent | TouchEvent) => { if (!isDragging.value) return - currentX.value = e.clientX - startX.value + const clientX = 'touches' in e ? e.touches[0].clientX : e.clientX + currentX.value = clientX - startX.value } const endDrag = () => { @@ -174,8 +173,8 @@ const endDrag = () => { carouselRef.value.style.cursor = 'grab' } - // 根据拖拽距离决定是否切换 - if (Math.abs(currentX.value) > 100) { + // 降低阈值到 50px,更灵敏 + if (Math.abs(currentX.value) > 50) { if (currentX.value > 0) { goToSlide(Math.max(0, currentIndex.value - 1)) } else { @@ -266,7 +265,11 @@ onUnmounted(() => {