User:Irukaza/common.js:修订间差异

H萌娘,万物皆可H的百科全书!
跳到导航 跳到搜索
imported>=海豚=
无编辑摘要
imported>Irukaza
(清空页面)
 
(未显示2个用户的460个中间版本)
第1行: 第1行:


"use strict";
/*global mw, $*/
const nsid = mw.config.get( 'wgNamespaceNumber' ),
   pagename = mw.config.get('wgPageName'),
   contentModel = mw.config.get( 'wgPageContentModel' ),
   skin = mw.config.get('skin'),
   gadgets = mw.gadgets || {},
   stickyHeading = gadgets.stickyHeading || {},
   ns = stickyHeading.namespace || [],
   mode = stickyHeading.mode,
   collapse = (stickyHeading.collapse !== false);
if ( (mw.config.get('wgNamespaceNumber') == 1) || (mw.config.get('wgNamespaceNumber') == 3) || (mw.config.get('wgNamespaceNumber') == 7) || (mw.config.get('wgNamespaceNumber') == 9) || (mw.config.get('wgNamespaceNumber') == 11) || (mw.config.get('wgNamespaceNumber') == 13) || (mw.config.get('wgNamespaceNumber') == 15)||contentModel == 'wikitext' &&
   ((skin == 'vector' && mode != 'mobile') || (skin == 'minerva' && mode != 'desktop')) ) {
   mw.hook( 'wikipage.content' ).add(function( $content ) {
     console.log('Hook: wikipage.content, 开始添加粘性章节标题');
     $content.addClass( 'stickyHeading' );
     const headings = $content.find( '.mw-parser-output > h2' );
     headings.toArray().reverse().forEach(function(ele) {
       $('<div>').addClass( 'section-container' ).insertBefore(ele)
         .append( $(ele).nextAll( ':not(.section-container, #toc)' ).add(ele) );
     });
      
     if (!collapse || skin == 'minerva') { return; }
     $content.addClass( 'collapseHeading' );
     const icon = $('<i class="mw-ui-icon-before mw-ui-icon-small mw-ui-icon mw-ui-icon-collapse"></i>');
     headings.prepend( icon ).on('click', function(e) {
       if ( $(e.target).is('a') ) { return; }
       const self = $(this);
       self.nextAll().toggleClass( 'sec-hide' );
       self.children().first().toggleClass( 'mw-ui-icon-collapse mw-ui-icon-expand' );
     });
   });
}

2022年3月17日 (四) 18:22的最新版本