MediaWiki:Gadget-ptoc.js
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* _____________________________________________________________________________ * | | * | === WARNING: GLOBAL GADGET FILE === | * | Changes to this page affect many users. | * | Please discuss changes on the talk page or on [[WT:Gadget]] before editing. | * |_____________________________________________________________________________| * * Adds persistent table of contents. See [[User:Prtksxna/ptoc]] * Copied from https:https://www.how.com.vn/wiki/index.php?lang=en&q=User:Prtksxna/ptoc.js&oldid=663987716 */ mw.loader.using( 'jquery.throttle-debounce', function () {$( function () {var $window, $mwPanel, $floatTOC, scrollHandler,tocLimit, headingOffsets, headingThreshold,$toc = $( '#toc' ); if ( !$toc.length ) {return;} $window = $( window );$mwPanel = $( '#mw-panel' );headingThreshold = $window.height() / 5.0;$floatTOC = $toc.clone().removeAttr( 'id' ).addClass( 'floatTOC' ).appendTo( 'body' ).css( {visibility: 'hidden',opacity: 0} ); // Show the ToC ul even if its hidden$floatTOC.find( 'ul' ).show(); // Hijack links so that we can scroll to the content$floatTOC.find( 'a' ).click( function ( e ) {$( 'html, body' ).animate( {scrollTop: $( $( this ).attr( 'href' ) ).offset().top - headingThreshold} );return false;} ); tocLimit = $toc.offset().top + $toc.height();headingOffsets = []; // Get all heading positions$('.mw-headline').each( function () {headingOffsets.push( [ $( this ).attr( 'id' ), $( this ).offset().top ] );} ); // For the window scroll eventscrollHandler = function () {var $current,scrollTop = $window.scrollTop(); if ( scrollTop > tocLimit ) {$floatTOC.css( {visibility: 'visible',opacity: 1} );$mwPanel.hide(); // Highlight currentvar highlight = false;// Current section is above the first heading below the top of the screen$.each( headingOffsets, function ( i, v ) {// Skip first as there's no previous heading before the firstif ( i !== 0 && ( scrollTop + headingThreshold ) < v[ 1 ] ) {highlight = headingOffsets[ i - 1 ][ 0 ];return false;}} ); if ( highlight ) {$current = $floatTOC.find( 'a[href="#' + highlight + '"]' );$floatTOC.find( 'a' ).not( $current ).css( 'font-weight', '' );$current.css( 'font-weight', 'bold' );} } else {$floatTOC.css( {visibility: 'hidden',opacity: 0} );$mwPanel.show();}} $window.on( 'scroll', $.throttle( 250, scrollHandler ) );} );} );
🔥 Top keywords: Akademia e Shkencave e RPS te ShqiperiseAlexandria Ocasio-CortezBilderberg GroupCristiano RonaldoDong XiaowanMinecraftOperation GladioPrimal cutRiot FestStrictly Come Dancing (series 7)Main PageSpecial:SearchWikipedia:Featured picturesProject 2025Kalki 2898 AD.xxxUEFA Euro 2024Jannik SinnerEmma Raducanu2024 Copa AméricaCleopatraA Quiet Place: Day OneDeaths in 2024Sonay KartalOpinion polling for the 2024 United Kingdom general electionBeverly Hills Cop: Axel FMark CavendishMatteo Berrettini2024 United Kingdom general electionJoe BidenThe Acolyte (TV series)House of the DragonYouTubeJames RodrÃguezDespicable Me 4Grey Wolves (organization)Kamala HarrisThe Bear (TV series)Keir StarmerNikki HiltzBad Boys: Ride or DieList of highest-grossing Indian films2024 FIBA Men's Olympic Qualifying TournamentsIndependence Day (United States)Zac EfronInside Out 2Copa AméricaDonald TrumpThe Boys (TV series)