MediaWiki
Common.js: Difference between revisions
From Grouse House Wiki
No edit summary Tag: Manual revert |
No edit summary |
||
Line 3: | Line 3: | ||
mw.loader.load( 'https://cdn.rawgit.com/prtksxna/persistent-toc/master/ptoc.css', 'text/css' ); | mw.loader.load( 'https://cdn.rawgit.com/prtksxna/persistent-toc/master/ptoc.css', 'text/css' ); | ||
mw.loader.load( 'https://cdn.rawgit.com/prtksxna/persistent-toc/master/ptoc.js', 'text/javascript' ); | mw.loader.load( 'https://cdn.rawgit.com/prtksxna/persistent-toc/master/ptoc.js', 'text/javascript' ); | ||
( function () { | |||
'use strict'; | |||
var dynamicImages = document.getElementsByClassName( 'dynamic-images'), | |||
i, imageSet , j; | |||
for ( i = 0; i < dynamicImages.length; i++ ) { | |||
imageSet = dynamicImages[i].getElementsByClassName( 'image' ); | |||
for ( j = 0; j < imageSet.length; j++ ) { | |||
if ( j > 0 ) { | |||
imageSet[j].style.display = 'none'; | |||
} | |||
imageSet[j].addEventListener( 'click', function ( event ) { | |||
event.stopImmediatePropagation(); | |||
event.preventDefault(); | |||
this.style.display = 'none'; | |||
if ( this.nextElementSibling !== null ) { | |||
this.nextElementSibling.style.display = 'inline'; | |||
} else { | |||
this.parentNode.getElementsByClassName( 'image' )[0].style.display = 'inline'; | |||
} | |||
}); | |||
} | |||
} | |||
}() ); |
Revision as of 22:55, 23 January 2024
/* Any JavaScript here will be loaded for all users on every page load. */ mw.loader.load( 'https://cdn.rawgit.com/prtksxna/persistent-toc/master/ptoc.css', 'text/css' ); mw.loader.load( 'https://cdn.rawgit.com/prtksxna/persistent-toc/master/ptoc.js', 'text/javascript' ); ( function () { 'use strict'; var dynamicImages = document.getElementsByClassName( 'dynamic-images'), i, imageSet , j; for ( i = 0; i < dynamicImages.length; i++ ) { imageSet = dynamicImages[i].getElementsByClassName( 'image' ); for ( j = 0; j < imageSet.length; j++ ) { if ( j > 0 ) { imageSet[j].style.display = 'none'; } imageSet[j].addEventListener( 'click', function ( event ) { event.stopImmediatePropagation(); event.preventDefault(); this.style.display = 'none'; if ( this.nextElementSibling !== null ) { this.nextElementSibling.style.display = 'inline'; } else { this.parentNode.getElementsByClassName( 'image' )[0].style.display = 'inline'; } }); } } }() );