From 07f81ff59b3b09aaeb99d8b478132343b435bc5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Tue, 29 Sep 2026 14:18:39 +0800 Subject: [PATCH] =?UTF-8?q?style(viewer):=20=E5=B9=BF=E5=91=8A=E8=BD=AE?= =?UTF-8?q?=E6=92=AD=E5=88=87=E6=8D=A2=E6=9F=94=E5=8C=96=E2=80=94=E2=80=94?= =?UTF-8?q?=E5=85=A8=E5=B8=A7=E5=A0=86=E5=8F=A0=E6=B7=A1=E5=85=A5=E6=B7=A1?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 堆叠帧常驻 DOM 预加载(首轮切换不空白),活跃帧独占交互/聚焦; 恢复 10:3 高度锚点(各帧自然高度不一致会让切换时容器跳动)。 Co-Authored-By: Claude Code --- apps/viewer/src/__tests__/ad-carousel.spec.ts | 3 +- apps/viewer/src/components/ads/AdCarousel.vue | 51 ++++++++++++++----- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/apps/viewer/src/__tests__/ad-carousel.spec.ts b/apps/viewer/src/__tests__/ad-carousel.spec.ts index 31727e4..24596f5 100644 --- a/apps/viewer/src/__tests__/ad-carousel.spec.ts +++ b/apps/viewer/src/__tests__/ad-carousel.spec.ts @@ -31,7 +31,8 @@ function mountCarousel(ads: PublicAd[] = ADS): VueWrapper { } function currentSrc(wrapper: VueWrapper): string | null { - const img = wrapper.find('.ad-slide img').element as HTMLImageElement | undefined; + // 全帧堆叠后当前帧=活跃帧(2026-09-29 淡入淡出改造)。 + const img = wrapper.find('.ad-slide.active img').element as HTMLImageElement | undefined; return img?.getAttribute('src') ?? null; } diff --git a/apps/viewer/src/components/ads/AdCarousel.vue b/apps/viewer/src/components/ads/AdCarousel.vue index 512a6c8..32efdc6 100644 --- a/apps/viewer/src/components/ads/AdCarousel.vue +++ b/apps/viewer/src/components/ads/AdCarousel.vue @@ -1,5 +1,5 @@