User:SaoMikoto/common.js
From Test Wiki
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/** InPageEdit Preferences */
(window.InPageEdit = window.InPageEdit || {}).myPreference = {
"doNotCollectMyInfo": false,
"editMinor": false,
"editSummary": "$section // Edit via InPageEdit",
"lockToolBox": true,
"redLinkQuickEdit": false,
"outSideClose": true,
"watchList": "preferences",
"noConfirmEdit": true,
"plugins": [
"toolbox.js",
"wiki-editor.js",
"quick-thank.js",
"color-preview.js",
"code-mirror/cm6.js",
"edit-any-page.js",
"fix-double-entrance.js"
]
}
mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit');
importScript('User:SaoMikoto/js/Usergroup.js'); // Backlink: [[User:SaoMikoto/js/Usergroup.js]]
importScript('User:SaoMikoto/js/CleanDeleteReasons.js'); // Backlink: [[User:SaoMikoto/js/CleanDeleteReasons.js]]
\
(function() {
// 创建飘落元素
function createFallingElement() {
var symbols = ['🍀', '☘️', '🌸', '🌿'];
var element = document.createElement('div');
element.className = 'falling-elements';
element.textContent = symbols[Math.floor(Math.random() * symbols.length)];
element.style.left = Math.random() * 100 + 'vw';
element.style.animationDuration = (3 + Math.random() * 3) + 's';
element.style.animationDelay = Math.random() * 2 + 's';
element.style.position = 'fixed';
element.style.top = '-50px';
element.style.pointerEvents = 'none';
element.style.zIndex = '9999';
element.style.fontSize = '20px';
element.style.animation = 'fall linear infinite';
document.body.appendChild(element);
// 动画结束后移除元素
setTimeout(function() {
if (element.parentNode) {
element.parentNode.removeChild(element);
}
}, 8000);
}
// 添加CSS动画
function addFallingCSS() {
if (document.getElementById('falling-style')) return;
var style = document.createElement('style');
style.id = 'falling-style';
style.textContent =
'@keyframes fall {' +
'0% { transform: translateY(-50px) rotate(0deg); opacity: 1; }' +
'100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }' +
'}';
document.head.appendChild(style);
}
// 初始化函数
function initFallingElements() {
addFallingCSS();
// 每隔800ms创建新元素
setInterval(createFallingElement, 800);
}
// 页面加载完成后启动
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initFallingElements);
} else {
initFallingElements();
}
})();