Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
var isInViewport = function () { | var isInViewport = function () { | ||
console.log('version 0. | console.log('version 0.8') | ||
var elem = document.getElementById("taboola-below-article-thumbnails") | var elem = document.getElementById("taboola-below-article-thumbnails") | ||
var distance = elem.getBoundingClientRect(); | var distance = elem.getBoundingClientRect(); | ||
Line 22: | Line 22: | ||
if (isInViewport()) { | if (isInViewport()) { | ||
console.log('it is in viewport!') | console.log('it is in viewport!') | ||
var fixed = $("#IL_INSEARCH"); | |||
fixed.addClass('displaynone'); | |||
} else { | } else { | ||
console.log('it is not in viewport') | console.log('it is not in viewport') | ||
var fixed = $("#IL_INSEARCH"); | |||
fixed.removeClass('displaynone'); | |||
} | } | ||
}) | }) | ||
/* | /* | ||
window.addEventListener("load", function(){ | window.addEventListener("load", function(){ | ||
Line 125: | Line 119: | ||
} | } | ||
}); | }); | ||
*/ |
Revision as of 02:28, 25 October 2020
/* Any JavaScript here will be loaded for all users on every page load. */ // Scripts to use when viewing articles /* if (mw.config.get('wgIsArticle') || window.location.href.indexOf('action=submit') > -1 || mw.config.get('wgNamespaceNumber') == -1) { mw.loader.load( '/index.php?title=MediaWiki:CollapsibleTables.js&action=raw&ctype=text/javascript' ); } */ var isInViewport = function () { console.log('version 0.8') var elem = document.getElementById("taboola-below-article-thumbnails") var distance = elem.getBoundingClientRect(); console.log('distance from top', distance.top) console.log('window.innerHeight', window.innerHeight) return ( distance.top <= (window.innerHeight || document.documentElement.clientHeight) ); }; window.addEventListener("scroll", function(){ console.log('scrolling') if (isInViewport()) { console.log('it is in viewport!') var fixed = $("#IL_INSEARCH"); fixed.addClass('displaynone'); } else { console.log('it is not in viewport') var fixed = $("#IL_INSEARCH"); fixed.removeClass('displaynone'); } }) /* window.addEventListener("load", function(){ var positionAdDivs= function () { // console.log('version 2.7') var fixed = $("#IL_INSEARCH"); var fixed_position = $("#IL_INSEARCH").offset().top; var fixed_height = $("#IL_INSEARCH").height(); var toCross = $("#taboola-below-article-thumbnails") var toCross_position = $("#taboola-below-article-thumbnails").offset().top; var toCross_height = $("#taboola-below-article-thumbnails").height(); /* console.log('fixed_position', fixed_position) console.log('fixed_height', fixed_height) console.log('toCross_position', toCross_position) console.log('toCross_height', toCross_height) */ if (fixed_position + fixed_height < toCross_position) { // console.log('fixed_position', fixed_position) } else if (fixed_position > toCross_position + toCross_height) { console.log('remove displaynone class') console.log('fixed_position', fixed_position) console.log('fixed_height', fixed_height) console.log('toCross_position', toCross_position) console.log('toCross_height', toCross_height) fixed.removeClass('displaynone'); } else { var fixed_classes = fixed.attr('class') if (fixed_classes.includes('displaynone')){ console.log('already has displaynone class!', 'fixed_position', fixed_position) } else { console.log('add displaynone class!') console.log('fixed_position', fixed_position) console.log('fixed_height', fixed_height) console.log('toCross_position', toCross_position) console.log('toCross_height', toCross_height) fixed.addClass('displaynone'); } } /* if (fixed_position + fixed_height < toCross_position) { var fixed_classes = fixed.attr('class') console.log('fixed_classes', fixed_classes) if (fixed_classes.includes('displaynone')){ console.log('remove displaynone class!') fixed.removeClass('displaynone') } else { console.log('already removed displaynone class') } } else { var fixed_classes = fixed.attr('class') console.log('fixed_classes', fixed_classes) if (fixed_classes.includes('displaynone')){ console.log('already has displaynone class') } else { console.log('add displaynone class!') fixed.addClass('displaynone') } } */ }; // if fixed_position is Not found, do nothing if (!$("#IL_INSEARCH").offset()){ // otherwise start the interval } else { setInterval(positionAdDivs, 200); } }); */