MediaWiki:Gadget-SidebarTOC.js: Difference between revisions

Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
mw.loader.using( 'mediawiki.toc', function () {
mw.loader.using( 'mediawiki.toc', function () {
$( function () {
$( function () {
var $window, $sidebar, $article, $tocContainer, $toc, tocLimit;
var $window, $sidebar, $article, $tocContainer, $toc;


$window = $( window );
$window = $( window );
$sidebar = $( '#mw-panel' );
$sidebar = $( '#mw-panel' );
$article = $( '#content' );
$article = $( '.vector-body' );
$tocContainer = $( '<div class="mw-table-of-contents-container"></div>' ).insertAfter( $sidebar );
$tocContainer = $( '<div class="mw-table-of-contents-container"></div>' ).insertAfter( $sidebar ).append($article);
$toc = $( '.toc' ).addClass( 'vector-sticky-toc-container' ).appendTo( $tocContainer );
$toc = $( '.toc' ).addClass( 'vector-sticky-toc-container' ).appendTo( $tocContainer );


Line 13: Line 13:
}
}


tocLimit = $sidebar.offset().top + $sidebar.height();
$tocContainer.css('height', $article.height());


$window.on('scroll', function () {
var scrollTop = $window.scrollTop();
if (scrollTop > tocLimit) {
$toc.addClass('sticky');
} else {
$toc.removeClass('sticky');
}
});
     });
     });
});
});

Revision as of 07:06, 22 February 2024

mw.loader.using( 'mediawiki.toc', function () {
	$( function () {
		var $window, $sidebar, $article, $tocContainer, $toc;

		$window = $( window );
		$sidebar = $( '#mw-panel' );
		$article = $( '.vector-body' );
		$tocContainer = $( '<div class="mw-table-of-contents-container"></div>' ).insertAfter( $sidebar ).append($article);
		$toc = $( '.toc' ).addClass( 'vector-sticky-toc-container' ).appendTo( $tocContainer );

		if ( !$toc.length ) {
			return;
		}

		$tocContainer.css('height', $article.height());

    });
});