MediaWiki:Common.js

From SourceWorlds Wiki
Revision as of 05:52, 19 October 2026 by Vizzys (talk | contribs)
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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */


/*
    Template:Spoiler on dev.miraheze.org
*/
$(function(){
    //spoiler block behavior
	$('.spoiler').click(function(){
		$(this).toggleClass('off');
	});
	// spoiler button behavior
    $('#spoilerbtn').text('Show all spoilers');
	$('#spoilerbtn').click(function(){
		$(this).toggleClass('hide');
		$('.spoiler').toggleClass('showall');
		
		if ($(this).is('.hide')){ $(this).text('Hide all spoilers'); } 
        else { $(this).text('Show all spoilers'); }
	});	
});
// [[Category:Scripts]]


const preview = $('<img>', {
    id: 'hover-preview'
}).css({
    position: 'fixed',
    display: 'none',
    maxWidth: '50vw',
    maxHeight: '50vh',
    border: '2px solid #666',
    background: '#222',
    padding: '4px',
    boxShadow: '0 4px 20px rgba(0,0,0,.5)',
    zIndex: 99999,
    pointerEvents: 'none'
});

    $('body').append(preview);

    $('.hoverzoom img').on('mouseenter', function () {
        let fullSrc = $(this).attr('src');

        // Convert thumb URL to original file URL
        fullSrc = fullSrc
            .replace(/\/thumb\//, '/')
            .replace(/\/\d+px-[^\/]+$/, '');

        preview.attr('src', fullSrc).show();
    });

    $('.hoverzoom img').on('mousemove', function (e) {
        preview.css({
            left: e.clientX + 20,
            top: e.clientY + 20
        });
    });

    $('.hoverzoom img').on('mouseleave', function () {
        preview.hide();
    });
});