查看“︁MediaWiki:Gadget-stickyToc.js”︁的源代码
←
MediaWiki:Gadget-stickyToc.js
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
$(function(){ if (!$('#toc').length) { return; } var i18n = { header: '目录', top: '返回顶部' }; new ResizeObserver(function(entries) { if (window.innerWidth <= 720) { $('#mw-panel').css('height', ''); } else { $('#mw-panel').css('height', document.body.scrollHeight - 10); } }).observe($('#content')[0]); var tocCollapsed = false; $('<nav id="p-toc" class="vector-menu mw-portlet mw-portlet-toc vector-menu-portal portal" aria-labelledby="p-toc-label" role="navigation">').append( $('<h3 id="p-toc-label" class="vector-menu-heading" tabindex="0">').append( $('<span class="vector-menu-heading-label">').text(i18n.header) ).on("keypress", function(event) { if (event.which == 13) { $(this).trigger("click"); event.stopImmediatePropagation() } }).on("click", function(event) { var $el = $(this).parent(); event.stopPropagation(); //$el.toggleClass("collapsed"); if($el.hasClass("collapsed")){ localStorage.setItem("sidebar_vector_c_p-toc", "y"); $el.find(".vector-menu-content").slideUp("fast"); $el.css({'margin-right': '', 'margin-left': ''}); } else{ localStorage.setItem("sidebar_vector_c_p-toc", "n"); $el.find(".vector-menu-content").slideDown("fast"); var $toc = $el.find(".vector-menu-content-list")[0]; if ($toc.clientWidth < $toc.scrollWidth) { $el.css({'margin-right': '0', 'margin-left': '0'}); } if (window.innerWidth >= 982 && $toc.clientWidth < $toc.scrollWidth) { $el.css({'margin-right': '-0.5em', 'margin-left': '-0.5em'}); } } }), $('<div class="vector-menu-content">').append( $('<ul class="vector-menu-content-list">').append( $('<li class="toclevel-1 tocsection-0">').append($('<a href="#">').append( $('<span class="toctext">').text(i18n.top) )), $('#toc > ul').children().clone() ) ).addClass($('#toc').parent().prop('class').split(/\s+/).filter(function(classname) { return classname.startsWith('toc-'); }).join(' ')).css('display', tocCollapsed ? 'none' : '') ).addClass(tocCollapsed ? 'collapsed' : '').appendTo('#mw-panel'); mw.loader.using( ['ext.gadget.sectionObserver'], function(require) { var initSectionObserver = require('ext.gadget.sectionObserver'); var allSections = document.querySelectorAll('#firstHeading, .mw-headline'); var sectionObserver = initSectionObserver({topMargin: 20, onIntersection: onIntersection}) sectionObserver.setElements(allSections); sectionObserver.calcIntersection(); allSections = Array.from(allSections); var tocList = $('#p-toc .vector-menu-content-list')[0]; var tocSections = $('#p-toc .vector-menu-content-list li'); var baseOffset = $('#p-toc .tocsection-0 .toctext')[0].offsetTop; function onIntersection(section) { var index = allSections.indexOf(section); $('#p-toc .tocsection-current').removeClass('tocsection-current'); var tocSection = tocSections.eq(index).addClass('tocsection-current'); if ( tocSection.is(':hidden') && index > 0 ) return onIntersection(allSections[index - 1]); var tocSectionPos = tocSection[0].offsetTop - baseOffset; if ( tocSectionPos < tocList.scrollTop + (tocList.clientHeight * 0.15) ) { tocList.scrollTo({top: tocSectionPos - (tocList.clientHeight * 0.3)}); } else if ( tocSectionPos > tocList.scrollTop + (tocList.clientHeight * 0.85) ) { tocList.scrollTo({top: tocSectionPos - (tocList.clientHeight * 0.7)}); } } } ); }); // [[Category:Scripts]]
返回
MediaWiki:Gadget-stickyToc.js
。
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
系统消息
讨论
English
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
快速跳转
快速上手DJMAX RESPECT V
登场角色
收录歌曲列表
Steam成就/Xbox奖杯指南
任务指南
DLC购买指南
其他企划
CDC赛事品牌
DJMAX Entertainment
工具
链入页面
相关更改
特殊页面
页面信息