MediaWiki:Gadget-stickyheader.js: Difference between revisions

From RuneRealm Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
Line 31: Line 31:
// hidden by css when sticky-hidden is not on
// hidden by css when sticky-hidden is not on
if (mw.config.get('wgIsMainPage') !== true) {
if (mw.config.get('wgIsMainPage') !== true) {
mw.mw.util.addPortletLink('p-namespaces', '/', 'Main Page', 'ca-nstab-mainpage', 'Visit the main page');
mw.util.addPortletLink('p-namespaces', '/', 'Main Page', 'ca-nstab-mainpage', 'Visit the main page');
}
}
}(jQuery, mediaWiki));
}(jQuery, mediaWiki));

Revision as of 17:15, 17 October 2024

;(function($, mw) {
	$('body').addClass('wgl-stickyheader');
	function onScroll() {
		var personal = $('#p-personal');
		var targetEle = document.getElementById("mw-head");
		var head = $('#mw-head');
		if (mw.config.get('wgAction') === 'edit' || window.location.search.includes('veaction')) {
			// We're on an edit page, do nothing and reset all the stuff
			if (personal.is(":hidden")) {
				personal.show();
				head.removeClass('sticky-hidden');
			}
		} else {
			if (window.scrollY > (targetEle.offsetTop + targetEle.offsetHeight)) {
				if (personal.is(":visible")) {
					personal.hide();
					head.addClass('sticky-hidden');
				}
			} else {
				if (personal.is(":hidden")) {
					personal.show();
					head.removeClass('sticky-hidden');
				}
			}
		}
	}
	
	onScroll();
	$(window).scroll(onScroll);
	
	// hidden by css when sticky-hidden is not on
	if (mw.config.get('wgIsMainPage') !== true) {
		mw.util.addPortletLink('p-namespaces', '/', 'Main Page', 'ca-nstab-mainpage', 'Visit the main page');
	}
}(jQuery, mediaWiki));