مدیاویکی:Gadget-goToTop.js

از ویکی‌پدیا، دانشنامهٔ آزاد

نکته: برای دیدن تغییرات، ممکن است نیاز باشد که حافظهٔ نهانی مرورگر خود را پس از انتشار پاک‌سازی کنید. گوگل کروم، فایرفاکس، مایکروسافت اج و سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload در نوار ابزار مرورگر کلیک کنید. برای آگاهی از جزئیات و نحوهٔ پاک‌سازی حافظهٔ نهانی سایر مرورگرها، صفحهٔ ویکی‌پدیا:میانگیر مرورگرتان را خالی کنید را ببینید.

/* 
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({
	'color': '#000',
	'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':
			if (document.getElementById('vector-toc-pinned-container'))
				appearAt = $('#mw-panel-toc').position().top + $('#vector-toc-pinned-container').outerHeight(true) - $(window).height() + 20;
			else
				appearAt = $('#vector-main-menu').position().top + $('#vector-main-menu').outerHeight(true) - $(window).height() + 20;
			break;
		default:
			appearAt = $('#p-tb').parent().position().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');
	}
});
});