From 90fecfa743b1296e3571eee74a5a2df79a8697de Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期三, 01 四月 2026 18:26:46 +0800
Subject: [PATCH] 添加预加载动画

---
 映星教育/预加载动画 |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 177 insertions(+), 0 deletions(-)

diff --git "a/\346\230\240\346\230\237\346\225\231\350\202\262/\351\242\204\345\212\240\350\275\275\345\212\250\347\224\273" "b/\346\230\240\346\230\237\346\225\231\350\202\262/\351\242\204\345\212\240\350\275\275\345\212\250\347\224\273"
new file mode 100644
index 0000000..009e075
--- /dev/null
+++ "b/\346\230\240\346\230\237\346\225\231\350\202\262/\351\242\204\345\212\240\350\275\275\345\212\250\347\224\273"
@@ -0,0 +1,177 @@
+<link rel="preload" href="/wp-content/uploads/2026/03/YSBTH.ttf" as="font" type="font/ttf" crossorigin="anonymous">
+
+<style>
+	/* 2. 鍗曠嫭寮曞叆瀛椾綋锛岀‘淇濋鍔犺浇鍔ㄧ敾鑳界涓�鏃堕棿璇诲彇锛屼笉骞茬瓑 Elementor */
+	@font-face {
+		font-family: '浼樿鏍囬榛�';
+		/* 銆愭敞鎰忥細璇锋妸 url 閲岀殑閾炬帴涔熸浛鎹㈡垚浣犵湡瀹炵殑 ttf 瀛椾綋閾炬帴锛屽拰涓婇潰淇濇寔涓�鑷淬�� */
+		src: url('/wp-content/uploads/2026/03/YSBTH.ttf') format('truetype');
+		font-display: swap; 
+	}
+
+	/* 娣诲姞浜� ys_edu_ 鍓嶇紑浠ラ槻姝笌 WordPress 涓婚鍐茬獊 */
+	#ys_edu_custom-preloader {
+		position: fixed;
+		top: 0; 
+		left: 0; 
+		width: 100vw; 
+		height: 100vh;
+		background: linear-gradient(to right, #00d1fe, #a5fed9);
+		z-index: 999999;
+		display: none; /* 鈫� 鏀逛负 none */
+		justify-content: center;
+		align-items: center;
+		transition: opacity 0.6s ease;
+	}
+
+	.ys_edu_preloader-wrapper {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.ys_edu_img1 {
+		height: 120px; 
+		display: block;
+	}
+
+	/* 鍒濆鐘舵�侊細鍥剧墖缂╂斁涓�0 */
+	.ys_edu_img1-container {
+		transform: scale(0);
+		margin-top: -20px;
+	}
+
+	/* 鍒濆鐘舵�侊細鎶藉眽瀹藉害涓�0 */
+	.ys_edu_text-container {
+		width: 0;
+		overflow: hidden;
+		margin-left: 0;
+		display: flex;
+		align-items: center;
+		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%);
+		mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%);
+	}
+
+	/* 鍒濆鐘舵�侊細瀛楃閫忔槑銆佸亸绉汇�佹ā绯� */
+	.ys_edu_char {
+		font-size: 80px; 
+		font-weight: 400; 
+		/* 宸茬粡淇敼涓鸿皟鐢ㄤ笂鏂瑰0鏄庣殑浼樿鏍囬榛� */
+		font-family: '浼樿鏍囬榛�', 'YouSheBiaoTiHei', sans-serif; 
+		color: #ffffff; 
+		display: inline-block; 
+		opacity: 0;
+		transform: translateX(40px); 
+		filter: blur(12px); 
+	}
+
+	/* ========================================= */
+	/* 鍙戜护鏋細褰� JS 娣诲姞 ys_edu_start-anim 绫诲悕鍚庡姩鐢诲紑濮� */
+	/* ========================================= */
+
+	/* 1. 瑙﹀彂鍥剧墖鏀惧ぇ */
+	.ys_edu_start-anim .ys_edu_img1-container {
+		animation: ys_edu_zoomIn 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
+	}
+
+	/* 2. 瑙﹀彂鎶藉眽鎷夊嚭 */
+	.ys_edu_start-anim .ys_edu_text-container {
+		animation: ys_edu_slideTextDrawer 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1s forwards; 
+	}
+
+	/* 3. 瑙﹀彂閫愬瓧鏄剧幇 */
+	.ys_edu_start-anim .ys_edu_char {
+		animation: ys_edu_charFadeIn 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
+		animation-delay: calc(1s + var(--i) * 0.1s); 
+	}
+
+	@keyframes ys_edu_zoomIn {
+		0% { transform: scale(0); opacity: 0; }
+		100% { transform: scale(1); opacity: 1; }
+	}
+
+	@keyframes ys_edu_slideTextDrawer {
+		0% { width: 0; margin-left: 0; }
+		100% { width: 480px; margin-left: 20px; }
+	}
+
+	@keyframes ys_edu_charFadeIn {
+		0% { opacity: 0; transform: translateX(40px); filter: blur(12px); }
+		100% { opacity: 1; transform: translateX(0); filter: blur(0px); }
+	}
+</style>
+
+<div id="ys_edu_custom-preloader">
+	<div class="ys_edu_preloader-wrapper">
+		<div class="ys_edu_img1-container">
+			<img id="ys_edu_preloader-logo" src="" alt="YStar Edu Logo" class="ys_edu_img1">
+		</div>
+
+		<div class="ys_edu_text-container">
+			<span class="ys_edu_char" style="--i:1">Y</span>
+			<span class="ys_edu_char" style="--i:2">S</span>
+			<span class="ys_edu_char" style="--i:3">t</span>
+			<span class="ys_edu_char" style="--i:4">a</span>
+			<span class="ys_edu_char" style="--i:5">r</span>
+			<span class="ys_edu_char" style="--i:6">&nbsp;</span>
+			<span class="ys_edu_char" style="--i:7">E</span>
+			<span class="ys_edu_char" style="--i:8">d</span>
+			<span class="ys_edu_char" style="--i:9">u</span>
+		</div>
+	</div>
+</div>
+
+<script>
+	// 绔嬪嵆鎵ц锛氬垽鏂湰鍦版槸鍚﹀凡缁忚褰曡繃鎾斁鐘舵��
+	(function() {
+		if (!localStorage.getItem('ys_edu_preloader_shown')) {
+			var preloader = document.getElementById('ys_edu_custom-preloader');
+			if (preloader) preloader.style.display = 'flex';
+		}
+	})();
+</script>
+
+<script>
+	document.addEventListener('DOMContentLoaded', function() {
+		const preloader = document.getElementById('ys_edu_custom-preloader');
+
+		// 鍐嶆纭锛氬鏋滃凡缁忔挱鏀捐繃锛岀洿鎺ヨ烦杩囧悗缁殑 JS 鍔ㄧ敾閫昏緫
+		if (localStorage.getItem('ys_edu_preloader_shown')) {
+			return; 
+		}
+
+		const logoUrl = "/wp-content/uploads/2026/03/preload-logo.webp";
+		const img = new Image();
+		img.src = logoUrl;
+
+		img.onload = function() {
+			const logoElement = document.getElementById('ys_edu_preloader-logo');
+			if (preloader && logoElement) {
+				logoElement.src = logoUrl;
+				preloader.classList.add('ys_edu_start-anim');
+				const animStartTime = Date.now();
+
+				window.addEventListener('load', function() {
+					const minTime = 3000;
+					const checkInterval = setInterval(function() {
+						if (Date.now() - animStartTime >= minTime) {
+							clearInterval(checkInterval);
+							preloader.style.opacity = '0';
+							setTimeout(function() {
+								preloader.style.display = 'none';
+								// 鍔ㄧ敾缁撴潫锛屽皢鐘舵�佹案涔呭啓鍏ョ敤鎴风殑娴忚鍣ㄦ湰鍦板瓨鍌�
+								localStorage.setItem('ys_edu_preloader_shown', 'true');
+							}, 600);
+						}
+					}, 100);
+				});
+			}
+		};
+
+		img.onerror = function() {
+			if (preloader) preloader.style.display = 'none';
+			// 鍗充娇鍥剧墖鍔犺浇澶辫触锛屼篃鏍囪涓哄凡鎾斁锛岄伩鍏嶆瘡娆″埛鏂伴兘鍗℃
+			localStorage.setItem('ys_edu_preloader_shown', 'true');
+		};
+	});
+</script>
\ No newline at end of file

--
Gitblit v1.9.1