Files
XiaowenBlog/source/js/sakura-toggle.js
T
wenyongda 99e61e24c4 fix: 将樱花特效默认状态改为关闭
修改默认状态为关闭以优化性能,减少不必要的资源消耗
2026-04-16 13:14:30 +08:00

67 lines
2.0 KiB
JavaScript

// 樱花特效切换按钮 - 添加到 rightside 设置区域
const SAKURA_STORAGE_KEY = 'sakura_effect_enabled';
// 获取保存的状态,默认为 false(关闭)
function getSakuraState() {
const saved = localStorage.getItem(SAKURA_STORAGE_KEY);
// 如果没有保存过,默认关闭
return saved === null ? false : saved === 'true';
}
// 保存状态到 localStorage
function saveSakuraState(enabled) {
localStorage.setItem(SAKURA_STORAGE_KEY, enabled.toString());
}
// 应用樱花特效状态
function applySakuraState() {
const sakuraEffect = document.getElementById('canvas_sakura');
if (sakuraEffect) {
const enabled = getSakuraState();
sakuraEffect.style.display = enabled ? 'block' : 'none';
}
}
function createSakuraBtn() {
// 检查按钮是否已存在
if (document.getElementById('toggle_sakura_btn')) return;
const sakuraBtn = document.createElement('button');
sakuraBtn.id = 'toggle_sakura_btn';
sakuraBtn.type = 'button';
sakuraBtn.title = '樱花特效切换';
sakuraBtn.innerHTML = '<i class="fas fa-leaf"></i>';
const hideArea = document.getElementById('rightside-config-hide');
if (hideArea) {
hideArea.appendChild(sakuraBtn);
}
// 应用保存的状态
applySakuraState();
// 点击切换
sakuraBtn.addEventListener('click', function() {
const sakuraEffect = document.getElementById('canvas_sakura');
if (sakuraEffect) {
const isHidden = window.getComputedStyle(sakuraEffect).display === 'none';
const newState = isHidden ? true : false;
sakuraEffect.style.display = newState ? 'block' : 'none';
// 保存状态到 localStorage
saveSakuraState(newState);
}
});
}
// 首次加载
document.addEventListener('DOMContentLoaded', function() {
createSakuraBtn();
// 确保 sakura.js 加载完成后应用状态
setTimeout(applySakuraState, 100);
});
// PJAX 页面切换后重新创建
document.addEventListener('pjax:complete', function() {
createSakuraBtn();
applySakuraState();
});