پرش به محتوا

مدیاویکی:Gadget-goToTop.js: تفاوت میان نسخه‌ها

از امام رضا
*>SGimeno (WMF)
<maintenance> ReferenceError: topTop is not defined
 
جز ۱ نسخه واردشده
 
(بدون تفاوت)

نسخهٔ کنونی تا ‏۳ سپتامبر ۲۰۲۶، ساعت ۲۰:۱۲

/* 
Old script documentation:
This script was given to me by ultradude25 of the Minecraft Wiki.
If adding this to your userspace, please provide attribution to the original author.
http://minecraftwiki.net/wiki/User:ultradude25/goToTop.js/
copied from[en:User:Numbermaniac/goToTop.js]
Translate & Developed By: [fa:User:MohandesWiki]

This new version is copied from a fork on enwiki found at [[:en:User:Danski454/goToTop.js]]
Original notes at the source code:
This was copied from [[User:Numbermaniac/goToTop.js]].
This script was created by Majr of the Minecraft Wiki.
The original script is available here:
http://minecraftwiki.net/User:Majr/goToTop.js
*/
$(function(){
'use strict';

$('body').append('<span id="to-top" class="noprint">▲ رفتن به ابتدا</span>');
var $topButton = $('#to-top');

$topButton.css({
	'position': 'fixed',
	'bottom': '-30px',
	'right': '4px',
	'cursor': 'pointer',
	'transition': 'bottom 0.5s',
	'-webkit-transition': 'bottom 0.5s',
	'user-select': 'none',
	'-webkit-user-select': 'none',
	'-moz-user-select': 'none',
	'-ms-user-select': 'none'
}).click(function(){
	$('html, body').animate({scrollTop: 0},'slow');
});

$(window).scroll(function(){
	var appearAt;
	switch (mw.config.get("skin")) {
		case 'minerva':
			appearAt = 100;
			break;
		case 'vector-2022':
            const tocTop = $('#mw-panel-toc').position() || {};
            const mainMenuTop = $('#vector-main-menu').position();
			if (tocTop && tocTop.top && document.getElementById('vector-toc-pinned-container'))
				appearAt = tocTop.top + $('#vector-toc-pinned-container').outerHeight(true) - $(window).height() + 20;
			else if ( mainMenuTop && mainMenuTop.top )
				appearAt = mainMenuTop.top + $('#vector-main-menu').outerHeight(true) - $(window).height() + 20;
			break;
		default:
			const tbTop = $('#p-tb').parent().position();
			if ( tbTop ) {
				appearAt = tbTop.top + $('#p-tb').parent().outerHeight(true) - $(window).height() + 20;
			}
	}
	if (appearAt < 100) {
		appearAt = 100;
	}
	if ($(window).scrollTop() > appearAt ) {
		$topButton.css('bottom', '4px');
	}else{
		$topButton.css('bottom', '-30px');
	}
});
});