MediaWiki:Gadget-scrollUpButton.js

Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/* scrollUpButton
* Add a button to scroll up to the top of the current page.
* @rev 4 (2021-05-08)
* @author Kwj2772
* @contributor Perhelion
* No internationalisation required
* <nowiki>
*/
/* global $:false */
$(function () {
'use strict';

var $icon = '//upload.wikimedia.org/wikipedia/commons/5/59/Font_Awesome_5_regular_arrow-circle-up_blue.svg';

if (!document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1'))
	$icon = '//upload.wikimedia.org/wikipedia/commons/thumb/5/59/Font_Awesome_5_regular_arrow-circle-up_blue.svg/32px-Font_Awesome_5_regular_arrow-circle-up_blue.svg.png';

$icon = $('<img>', {
	src: $icon,
	id: 'scrollUpButton',
	class: 'noprint'
}).css({
		position: 'fixed',
		bottom: '24px',
		right: '18px',
		opacity: 0.7,
		cursor: 'pointer',
		display: 'none'
	}).on('click', function () {
		// Move to the top of the page
		$('html, body').animate({ scrollTop: 0 }, 660);
	}).on('mouseenter mouseleave', function (e) {
		this.style.opacity = e.type === 'mouseenter' ? 1 : 0.7;
	}).appendTo('body');

$(window).on('scroll', function () {
	// Fade out if you reach the top of the page
	if ($(this).scrollTop() > 60) $icon.fadeIn('slow');
	else $icon.fadeOut('slow');
});

}());
// </nowiki>