MediaWiki:Gadget-ImageCompare.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
mw.loader.getScript('https://unpkg.com/beerslider/dist/BeerSlider.js')
.then(function () {
$(document).ready(function() {
$.fn.BeerSlider = function (options) {
options = options || {};
return this.each(function() {
new BeerSlider(this, options);
});
};
function initializeBeerSlider(el) {
var $img1 = $(el).children('img');
var $img2 = $(el).find('.beer-reveal img');
// Check if both images have valid src attributes
var img1Src = $img1.attr('src');
var img2Src = $img2.attr('src');
if (img1Src && img2Src) {
// Ensure both images are loaded
var img1Loaded = $img1[0].complete && $img1[0].naturalHeight !== 0;
var img2Loaded = $img2[0].complete && $img2[0].naturalHeight !== 0;
if (img1Loaded && img2Loaded) {
$(el).BeerSlider({start: $(el).data('beer-start')});
} else {
// Retry initialization after a short delay
setTimeout(function() {
initializeBeerSlider(el);
}, 100); // Delay of 100ms
}
} else {
console.warn('Skipping BeerSlider initialization for element due to missing image src:', el);
}
}
$('.beer-slider').each(function(index, el) {
initializeBeerSlider(el);
});
});
}, function (e) {
// Script failed
mw.log.error(e.message); // => "Failed to load BeerSlider script"
});