update
Some checks failed
Deploy / deploy (push) Has been cancelled

This commit is contained in:
2025-12-26 15:32:39 +08:00
parent d6d7048ddd
commit ff95558864

View File

@@ -396,39 +396,7 @@ export function trickOrTreat() {
document.addEventListener("click", clickHandler, true)
},
// 效果11: 鼠标变成emoji跟随鼠标的emoji
() => {
const style = document.createElement("style")
style.id = "trick-emoji-cursor-style"
style.textContent = `
* {
cursor: none !important;
}
.trick-emoji-cursor {
position: fixed;
pointer-events: none;
font-size: 30px;
z-index: 99999;
transform: translate(-50%, -50%);
}
`
document.head.appendChild(style)
// 创建跟随鼠标的emoji元素
const emoji = document.createElement("div")
emoji.className = "trick-emoji-cursor"
emoji.textContent = "👻"
document.body.appendChild(emoji)
// 跟随鼠标移动
const moveHandler = (e: MouseEvent) => {
emoji.style.left = e.clientX + "px"
emoji.style.top = e.clientY + "px"
}
document.addEventListener("mousemove", moveHandler)
},
// 效果12: 页面元素随机位置
// 效果11: 页面元素随机位置
() => {
const style = document.createElement("style")
style.id = "trick-random-position-style"
@@ -449,7 +417,7 @@ export function trickOrTreat() {
element.style.transform = `translate(${randomX}px, ${randomY}px)`
})
},
// 效果13: 页面变成3D倾斜效果
// 效果12: 页面变成3D倾斜效果
() => {
const style = document.createElement("style")
style.id = "trick-3d-tilt-style"
@@ -479,7 +447,7 @@ export function trickOrTreat() {
`
document.head.appendChild(style)
},
// 效果14: 页面所有链接失效
// 效果13: 页面所有链接失效
() => {
const clickHandler = (e: MouseEvent) => {
const target = e.target as HTMLElement
@@ -497,7 +465,7 @@ export function trickOrTreat() {
}
document.addEventListener("click", clickHandler, true)
},
// 效果15: 页面变成波浪效果
// 效果14: 页面变成波浪效果
() => {
const style = document.createElement("style")
style.id = "trick-wave-style"
@@ -522,6 +490,69 @@ export function trickOrTreat() {
`
document.head.appendChild(style)
},
// 效果15: 页面变成故障效果Glitch
() => {
const style = document.createElement("style")
style.id = "trick-glitch-style"
style.textContent = `
body {
animation: trickGlitch 0.3s infinite;
}
@keyframes trickGlitch {
0% {
transform: translate(0);
filter: hue-rotate(0deg);
}
20% {
transform: translate(-2px, 2px);
filter: hue-rotate(90deg);
}
40% {
transform: translate(-2px, -2px);
filter: hue-rotate(180deg);
}
60% {
transform: translate(2px, 2px);
filter: hue-rotate(270deg);
}
80% {
transform: translate(2px, -2px);
filter: hue-rotate(360deg);
}
100% {
transform: translate(0);
filter: hue-rotate(0deg);
}
}
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 2px,
rgba(255, 0, 0, 0.03) 2px,
rgba(255, 0, 0, 0.03) 4px
),
repeating-linear-gradient(
90deg,
transparent,
transparent 2px,
rgba(0, 255, 255, 0.03) 2px,
rgba(0, 255, 255, 0.03) 4px
);
pointer-events: none;
z-index: 9999;
mix-blend-mode: difference;
}
`
document.head.appendChild(style)
},
]
// 随机选择一种效果