MediaWiki:Common.js: Difference between revisions

From SourceWorlds Wiki
Jump to navigation Jump to search
mNo edit summary
Tag: Reverted
mNo edit summary
Tag: Reverted
Line 22: Line 22:
// [[Category:Scripts]]
// [[Category:Scripts]]


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


     $('body').append(preview);
     $('body').append(preview);
Line 43: Line 41:
         let fullSrc = $(this).attr('src');
         let fullSrc = $(this).attr('src');


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


         preview.attr('src', fullSrc).show();
         preview
            .off('load')
            .on('load', function () {
                $(this).css({
                    width: this.naturalWidth / 2,
                    height: 'auto'
                });
            })
            .attr('src', fullSrc)
            .show();
     });
     });



Revision as of 05:52, 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]]

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

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

    $('.hoverzoom 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();
    });

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

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