13,748
edits
No edit summary |
No edit summary Tag: Reverted |
||
Line 7: | Line 7: | ||
var subpagesLink = '/Special:PrefixIndex/User:' + title + '/'; | var subpagesLink = '/Special:PrefixIndex/User:' + title + '/'; | ||
mediaWiki.util.addPortletLink('p-tb', subpagesLink, 'User subpages', 't-subpages', 'Subpages of this page'); | mediaWiki.util.addPortletLink('p-tb', subpagesLink, 'User subpages', 't-subpages', 'Subpages of this page'); | ||
} | |||
}); | |||
/* TOC ad unit */ | |||
function tocAdPositioner() { | |||
if ($('.desktopBox').css('position') === 'relative') { | |||
var winTopPos = $(window).scrollTop(); | |||
var tocHeight = $('#toc').outerHeight(); | |||
var tocTopPos = $('#toc').offset().top; | |||
var tocBotPos = tocTopPos + tocHeight; | |||
if (tocBotPos > winTopPos) { | |||
var boxWidth = $('.desktopBox').outerWidth(); | |||
var boxHeight = $('.desktopBox').outerHeight(); | |||
var boxMarginLeft = parseFloat($('.desktopBox').css('marginLeft')); | |||
var boxRightPos = $('.desktopBox').offset().left + boxWidth + parseFloat($('.desktopBox').css('right')); | |||
var tocRightPos = $('#toc').offset().left + $('#toc').outerWidth(); | |||
$('.desktopBox').css('right', (boxRightPos - tocRightPos - boxWidth - boxMarginLeft)/2); | |||
if (tocHeight > boxHeight) { | |||
var winBotPos = $(window).scrollTop() + $(window).outerHeight(); | |||
var curBotPos = winBotPos > tocBotPos ? tocBotPos : winBotPos; | |||
var offsetVal = boxHeight > 300 ? 4 : 2; | |||
var topOffset = (curBotPos - winTopPos - boxHeight)/offsetVal; | |||
if (tocTopPos - topOffset > winTopPos) | |||
$('.desktopBox').css('top', 0); | |||
else if (tocBotPos - boxHeight - topOffset > winTopPos) | |||
$('.desktopBox').css('top', winTopPos - tocTopPos + topOffset); | |||
else | |||
$('.desktopBox').css('top', tocHeight - boxHeight); | |||
} | |||
} | |||
} | |||
} | |||
$(function() { | |||
if ($('.desktopBox').length) { | |||
$(tocAdPositioner); | |||
$(window).on('scroll resize', function() { | |||
$(tocAdPositioner); | |||
}); | |||
} | } | ||
}); | }); |