From f84e030c1e4b12eceb454cd0adf7860cd4079eac Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Jun 2025 11:41:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A6=96=E9=A1=B5=E6=89=93=E5=AD=97?= =?UTF-8?q?=E6=9C=BA=E5=8A=A8=E7=94=BB=E5=AE=8C=E5=85=A8=E5=8F=AF=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8CTypeWriteList=20=E4=B8=BA=E7=A9=BA=E6=88=96?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=97=B6=E4=B8=8D=E5=86=8D=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=92=8C=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MainHeader.astro 条件渲染

,仅在 TypeWriteList 有内容时输出 - Init.ts/TypeWrite.ts 仅在 TypeWriteList 有内容时初始化动画 - 彻底清理无用标签和副作用,提升主题可定制性 --- src/components/MainHeader/MainHeader.astro | 4 +++- src/scripts/Init.ts | 2 +- src/scripts/TypeWrite.ts | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/MainHeader/MainHeader.astro b/src/components/MainHeader/MainHeader.astro index b0d4796..c601b68 100644 --- a/src/components/MainHeader/MainHeader.astro +++ b/src/components/MainHeader/MainHeader.astro @@ -8,5 +8,7 @@ import "./MainHeader.less"; avatar

{SITE_INFO.Author || "-"}

+{Array.isArray(SITE_INFO.TypeWriteList) && SITE_INFO.TypeWriteList.length > 0 && (

- +)} + \ No newline at end of file diff --git a/src/scripts/Init.ts b/src/scripts/Init.ts index deeecc1..a6dafab 100644 --- a/src/scripts/Init.ts +++ b/src/scripts/Init.ts @@ -80,7 +80,7 @@ const indexInit = async (only: boolean = true) => { // Han Analytics 统计 HanAnalyticsInit(); // 打字效果 - only && TypeWriteInit(); + only && Array.isArray(SITE_INFO.TypeWriteList) && SITE_INFO.TypeWriteList.length > 0 && TypeWriteInit(); // 泡泡🫧效果 PaoPaoInit(); // 预加载搜索数据 diff --git a/src/scripts/TypeWrite.ts b/src/scripts/TypeWrite.ts index fbbab63..3f6041e 100644 --- a/src/scripts/TypeWrite.ts +++ b/src/scripts/TypeWrite.ts @@ -3,6 +3,8 @@ export default () => { const writeDom = document.querySelector('.header-main>.desc'); if (!writeDom) return; const TypeWriteList = SITE_INFO.TypeWriteList; + // 如果 TypeWriteList 不是数组或没有内容则不执行动画 + if (!Array.isArray(TypeWriteList) || TypeWriteList.length === 0) return; let TypeWriteListIndex = 0; let index = 0; let isDeleting = false;