MediaWiki:Common.js

From SourceWorlds Wiki
Revision as of 05:50, 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]]


$(function () {
    const preview = $('<img>', {
        id: 'hover-preview'
    }).css({
        position: 'fixed',
        display: 'none',
        maxWidth: '70vw',
        maxHeight: '70vh',
        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();
    });
});