MediaWiki:Common.js: Difference between revisions

From SourceWorlds Wiki
Jump to navigation Jump to search
mNo edit summary
Tag: Reverted
m Protected "MediaWiki:Common.js" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
 
(4 intermediate revisions by the same user not shown)
Line 21: Line 21:
});
});
// [[Category:Scripts]]
// [[Category:Scripts]]
$(function () {
    const preview = $('<img id="hover-preview">').css({
        position: 'fixed',
        display: 'none',
        border: '5px solid #785000 ',
        background: '#222',
        padding: '0px',
        zIndex: 99999,
        pointerEvents: 'none',
        maxWidth: '50vw',
        maxHeight: '50vh'
    });
    $('body').append(preview);
    $('td.chapterimages .image img').on('mouseenter', function () {
        let fullSrc = $(this).attr('src');
        // Convert MediaWiki thumbnail URL -> original file URL
        fullSrc = fullSrc
            .replace('/thumb/', '/')
            .replace(/\/\d+px-[^/]+$/, '');
        preview
            .off('load')
            .on('load', function () {
                $(this).css({
                    width: this.naturalWidth / 2,
                    height: 'auto'
                });
            })
            .attr('src', fullSrc)
            .show();
    });
    $('td.chapterimages .image img').on('mousemove', function (e) {
        preview.css({
            left: e.clientX + 20,
            top: e.clientY + 20
        });
    });
    $('td.chapterimages .image img').on('mouseleave', function () {
        preview.hide();
    });
});

Latest revision as of 23:00, 19 October 2026

/* 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]]