打开/关闭搜索
搜索
打开/关闭菜单
1
40
1
326
末世录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
末世录
角色
国家
教派
我想嗦牛子
嗦塞尔达牛子
嗦萨图恩牛子
嗦奥利奥头牛子
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁MediaWiki:Common.js”︁的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Common.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */ /* USERNAME */ $( function() { if ( mw.user.isNamed() ) { $( '.insertusername' ).text( mw.user.getName() ); } else { $( '.insertusername' ).text( '访客' ); } } ); /* INFOBOX */ $('.infobox').hide(); // 将下面的代码整体复制到下一步要创建的 .js 页面中 (function(mw, $) { // 确保页面加载完成后再执行 mw.hook('wikipage.content').add(function() { // 1. 创建光标的HTML结构 if (document.querySelector('.magnetic-pointer')) return; const pointerDiv = document.createElement('div'); pointerDiv.className = 'magnetic-pointer'; pointerDiv.innerHTML = '<div></div><div></div><div></div><div></div>'; document.body.appendChild(pointerDiv); // 2. 注入光标专属的CSS样式 const style = ` .magnetic-pointer { --width: 4rem; --height: 4rem; position: fixed; top: calc(var(--height) / -2); left: calc(var(--width) / -2); width: var(--width); height: var(--height); transition: all 0.2s ease-out; pointer-events: none; z-index: 9999; } .magnetic-pointer div { position: absolute; width: 1rem; height: 1rem; border-width: 0.3rem; border-color: #17f700; } .magnetic-pointer div:nth-child(1) { top: 0; left: 0; border-top-style: solid; border-left-style: solid; } .magnetic-pointer div:nth-child(2) { top: 0; right: 0; border-top-style: solid; border-right-style: solid; } .magnetic-pointer div:nth-child(3) { bottom: 0; left: 0; border-bottom-style: solid; border-left-style: solid; } .magnetic-pointer div:nth-child(4) { bottom: 0; right: 0; border-bottom-style: solid; border-right-style: solid; } .mw-target-hover { cursor: pointer; } /* 为可吸附元素增加光标提示 */ `; if (!document.getElementById('magnetic-pointer-styles')) { const styleSheet = document.createElement('style'); styleSheet.id = 'magnetic-pointer-styles'; styleSheet.textContent = style; document.head.appendChild(styleSheet); } // 3. 光标逻辑 const pointer = document.querySelector('.magnetic-pointer'); let currentTarget = null; const move = (e) => { let x = e.clientX, y = e.clientY; if (currentTarget) { const rect = currentTarget.getBoundingClientRect(); const centerX = rect.left + rect.width / 2; const centerY = rect.top + rect.height / 2; x = centerX + (x - centerX) * 0.1; y = centerY + (y - centerY) * 0.1; } if (pointer) pointer.style.transform = `translate(${x}px, ${y}px)`; }; const bindTargets = () => { document.querySelectorAll('.mw-target-hover').forEach(el => { el.removeEventListener('mouseenter', onMouseEnter); el.removeEventListener('mouseleave', onMouseLeave); el.addEventListener('mouseenter', onMouseEnter); el.addEventListener('mouseleave', onMouseLeave); }); }; const onMouseEnter = (e) => { currentTarget = e.currentTarget; const rect = currentTarget.getBoundingClientRect(); if (pointer) { pointer.style.setProperty('--width', rect.width + window.innerWidth / 50 + 'px'); pointer.style.setProperty('--height', rect.height + window.innerWidth / 50 + 'px'); } }; const onMouseLeave = () => { currentTarget = null; if (pointer) { pointer.style.setProperty('--width', '4rem'); pointer.style.setProperty('--height', '4rem'); } }; window.addEventListener('mousemove', move); // 监听页面内容变化,重新绑定目标元素 const observer = new MutationObserver(bindTargets); observer.observe(document.body, { childList: true, subtree: true }); bindTargets(); }); })(window.mediaWiki, window.jQuery);
返回
MediaWiki:Common.js
。
查看“︁MediaWiki:Common.js”︁的源代码
MediaWiki界面页面