mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-05 07:28:37 +08:00
优化加载动画
This commit is contained in:
-12
@@ -49,18 +49,6 @@
|
|||||||
style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2">
|
style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2">
|
||||||
<style>
|
<style>
|
||||||
/* 添加SVG内部的动画样式 */
|
/* 添加SVG内部的动画样式 */
|
||||||
@keyframes float {
|
|
||||||
|
|
||||||
0%,
|
|
||||||
100% {
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
50% {
|
|
||||||
transform: translateY(-5px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes pulse {
|
@keyframes pulse {
|
||||||
|
|
||||||
0%,
|
0%,
|
||||||
|
|||||||
+8
-20
@@ -5,25 +5,28 @@
|
|||||||
background: var(--initial-loader-bg, #fff);
|
background: var(--initial-loader-bg, #fff);
|
||||||
block-size: 100vh;
|
block-size: 100vh;
|
||||||
inline-size: 100vw;
|
inline-size: 100vw;
|
||||||
transition: opacity 0.8s ease;
|
transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loading-logo {
|
.loading-logo {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset-block-start: 35%;
|
inset-block-start: 35%;
|
||||||
inset-inline-start: calc(50% - 5rem);
|
inset-inline-start: calc(50% - 5rem);
|
||||||
transition: transform 0.8s ease, opacity 0.8s ease;
|
transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 添加logo完成动画 */
|
/* 添加logo完成动画 - 放大虚化效果 */
|
||||||
.loading-complete .loading-logo {
|
.loading-complete .loading-logo {
|
||||||
|
filter: blur(10px);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: scale(1.2) rotate(360deg);
|
transform: scale(1.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 添加加载背景消失动画 */
|
/* 添加加载背景消失动画 - 放大虚化效果 */
|
||||||
.loading-complete {
|
.loading-complete {
|
||||||
|
filter: blur(15px);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
transform: scale(1.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.loading {
|
.loading {
|
||||||
@@ -92,18 +95,3 @@
|
|||||||
transform: rotate(1turn);
|
transform: rotate(1turn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 添加logo脉冲效果动画 */
|
|
||||||
@keyframes pulse-scale {
|
|
||||||
0% {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
50% {
|
|
||||||
transform: scale(1.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
+2
-7
@@ -136,7 +136,7 @@ function animateAndRemoveLoader() {
|
|||||||
document.documentElement.style.removeProperty('background')
|
document.documentElement.style.removeProperty('background')
|
||||||
// 显示页面
|
// 显示页面
|
||||||
show.value = true
|
show.value = true
|
||||||
}, 800) // 与CSS动画持续时间匹配
|
}, 500) // 与CSS动画持续时间匹配
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,12 +149,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
ensureRenderComplete(() => {
|
ensureRenderComplete(() => {
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
// 添加logo脉冲动画
|
// 不再添加脉冲动画
|
||||||
const loadingLogo = document.querySelector('.loading-logo svg') as SVGElement
|
|
||||||
if (loadingLogo) {
|
|
||||||
loadingLogo.style.animation = 'pulse-scale 1.5s ease infinite'
|
|
||||||
}
|
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 移除加载动画(使用新的动画方法)
|
// 移除加载动画(使用新的动画方法)
|
||||||
animateAndRemoveLoader()
|
animateAndRemoveLoader()
|
||||||
|
|||||||
Reference in New Issue
Block a user