MediaWiki:Common.js
MediaWiki-Schnittstellenseite
Weitere Optionen
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* Lucid Wiki — Elemente beim Scrollen einblenden. Nur was beim Laden noch
unterhalb des Bildschirms liegt, wird animiert; so flackert nichts. */
( function () {
if ( !( 'IntersectionObserver' in window ) ||
window.matchMedia( '(prefers-reduced-motion: reduce)' ).matches ) {
return;
}
var selector = [
'.lucid-card', '.lucid-link', '.lucid-era', '.lucid-timeline__item',
'.lucid-chapter', '.lucid-verse > p', '.lucid-side', '.lucid-nation-card',
'.lucid-quote', '.lucid-term', '.lucid-relation',
'.lucid-era-heading', '.lucid-note'
].join( ',' );
mw.hook( 'wikipage.content' ).add( function ( $content ) {
var nodes = $content[ 0 ].querySelectorAll( selector );
var fold = window.innerHeight;
var observer = new IntersectionObserver( function ( entries ) {
entries.forEach( function ( entry ) {
if ( entry.isIntersecting ) {
entry.target.classList.add( 'is-visible' );
observer.unobserve( entry.target );
}
} );
}, { rootMargin: '0px 0px -8% 0px', threshold: 0.1 } );
Array.prototype.forEach.call( nodes, function ( el ) {
if ( el.getBoundingClientRect().top < fold ) {
return;
}
var index = Array.prototype.indexOf.call( el.parentNode.children, el );
el.style.transitionDelay = Math.min( index % 6, 5 ) * 80 + 'ms';
el.classList.add( 'lucid-reveal' );
observer.observe( el );
} );
} );
}() );