MediaWiki:Gadget-VideoResizer.js: Difference between revisions
From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
No edit summary |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
/* Automatically resize videos to fit the page width */ | /* Automatically resize videos to fit the page width */ | ||
function | function autoResizer() { | ||
$(' | $('#mw-content-text .autoResize').each(function() { | ||
var body = $('#mw-content-text .mw-parser-output'); | var body = $('#mw-content-text .mw-parser-output'); | ||
var | var iframe = $(this).find('iframe'); | ||
if (typeof iframe.attr('data-orig-width') == 'undefined') { | if (typeof iframe.attr('data-orig-width') == 'undefined') { | ||
iframe.attr('data-orig-width', iframe.width()); | iframe.attr('data-orig-width', iframe.width()); | ||
iframe.attr('data-orig-height', iframe.height()); | iframe.attr('data-orig-height', iframe.height()); | ||
} | } | ||
var newWidth = $(this).parent().parent().is('section') ? body.width() : body.width() - 10; | |||
if (newWidth < iframe.attr('data-orig-width')) { | |||
var aspect = iframe.attr('data-orig-width') / iframe.attr('data-orig-height'); | var aspect = iframe.attr('data-orig-width') / iframe.attr('data-orig-height'); | ||
var newWidth = Math. | var newWidth = Math.ceil(newWidth); | ||
var newHeight = Math. | var newHeight = Math.floor(newWidth / aspect); | ||
$(this).css('width', newWidth); | |||
iframe.attr('width', newWidth); | iframe.attr('width', newWidth); | ||
iframe.attr('height', newHeight); | iframe.attr('height', newHeight); | ||
} else if (iframe.width() != iframe.attr('data-orig-width')) { | } else if (iframe.width() != iframe.attr('data-orig-width')) { | ||
$(this).css('width', iframe.attr('data-orig-width')); | |||
iframe.attr('width', iframe.attr('data-orig-width')); | iframe.attr('width', iframe.attr('data-orig-width')); | ||
iframe.attr('height', iframe.attr('data-orig-height')); | iframe.attr('height', iframe.attr('data-orig-height')); | ||
Line 59: | Line 24: | ||
}); | }); | ||
} | } | ||
$( | $(autoResizer); | ||
$(window).resize(function() { | $(window).resize(function() { | ||
clearTimeout(window.resizeFinished); | |||
window.resizeFinished = setTimeout(function() { | |||
$(autoResizer); | |||
}, 100); | |||
}); | |||
}); | }); |
Latest revision as of 05:48, February 21, 2023
/* Automatically resize videos to fit the page width */
function autoResizer() {
$('#mw-content-text .autoResize').each(function() {
var body = $('#mw-content-text .mw-parser-output');
var iframe = $(this).find('iframe');
if (typeof iframe.attr('data-orig-width') == 'undefined') {
iframe.attr('data-orig-width', iframe.width());
iframe.attr('data-orig-height', iframe.height());
}
var newWidth = $(this).parent().parent().is('section') ? body.width() : body.width() - 10;
if (newWidth < iframe.attr('data-orig-width')) {
var aspect = iframe.attr('data-orig-width') / iframe.attr('data-orig-height');
var newWidth = Math.ceil(newWidth);
var newHeight = Math.floor(newWidth / aspect);
$(this).css('width', newWidth);
iframe.attr('width', newWidth);
iframe.attr('height', newHeight);
} else if (iframe.width() != iframe.attr('data-orig-width')) {
$(this).css('width', iframe.attr('data-orig-width'));
iframe.attr('width', iframe.attr('data-orig-width'));
iframe.attr('height', iframe.attr('data-orig-height'));
}
});
}
$(autoResizer);
$(window).resize(function() {
clearTimeout(window.resizeFinished);
window.resizeFinished = setTimeout(function() {
$(autoResizer);
}, 100);
});