打开主菜单
首页
随机
最近更改
特殊页面
沙盒
互助客栈
方针与指引
帮助
页面信息
链入页面
相关更改
设置
关于LLWiki
免责声明
LLWiki
搜索
用户菜单
3.137.189.57
讨论
监视列表
贡献
登录
LLWiki正在建设中,欢迎
加入我们
!
查看“User:Bhsd/widget/tagFilter.js”的源代码
←
User:Bhsd/widget/tagFilter.js
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您没有权限编辑此JavaScript页面,因为此页面包含另一位用户的个人设置。
您可以查看和复制此页面的源代码。
//<nowiki> // 用于[[Widget:年表标签/筛选]],可以使用ES6语法 /** * @Function: 配合jquery.makeCollapsible,进一步隐藏不存在可见标签的dl * @Author: [[User:Bhsd]] */ "use strict"; /* global mw, $ */ (() => { const detectCollapse = (mutations) => { mutations.forEach(ele => { const $dl = $(ele.target).closest( 'dl' ); $dl.toggle( $dl.find( 'dd > :not(.mw-collapsed)' ).length > 0 ); }); }, main = () => { mw.widget = mw.widget || {}; if (mw.widget.tagFilter) { return; } // 因为dl折叠需要在jquery.makeCollapsible执行完毕之后,这里借助MutationObserver判断正确时机 const observer = new MutationObserver( detectCollapse ); mw.hook( 'wikipage.content' ).add($content => { observer.disconnect(); console.log('Hook: wikipage.content, 更新对年表标签的监视'); $content.find( 'dd > .mw-collapsible:has( .chronology )' ).each(function() { observer.observe(this, {attributes: true, attributeFilter: ['class']}); }); }); mw.widget.tagFilter = true; }; if (window.jQuery) { main(); } else { window.addEventListener('jquery', main); } }) (); //</nowiki> // [[category:jQuery小部件]] {{DEFAULTSORT:TagFilter}}
返回
User:Bhsd/widget/tagFilter.js
。