Wikipedia:Personliga stilmallar och skript/Visa referenser
Utseende
Det här är ett personligt Javascript som kan användas för att anpassa Wikipedia utöver alternativen under "Inställningar". För användning, kopiera nedanstående kod och klistra in den på sidan Special:Min sida/common.js (eller motsvarande sida för andra skinn). Observera att du måste vara inloggad för att det ska fungera. |
Beskrivning: Skriptet gör att referensen visar sig när man svävar med muspekaren över noten. På detta sätt slipper man gå neråt på sidan för att läsa referensen.
addOnloadHook( setupRefMouseOver );
function setupRefMouseOver() {
var sups = document.getElementById( 'bodyContent' ).getElementsByTagName( 'sup' );
for (i = 0; i < sups.length; i++ ) {
if (sups[i].className == 'reference') {
sups[i].onmouseover = refMouseOver;
}
}
}
function refMouseOver( event ) {
if ( !event ) { // IE verkar inte skicka med event-parametern
event = window.event;
}
if ( this.hasReferencePopup ) {
return;
}
var referencePopupElement = document.getElementById( 'ref-popup' );
if ( !referencePopupElement ) {
referencePopupElement = document.createElement( 'span' );
referencePopupElement.setAttribute( 'id', 'ref-popup' );
referencePopupElement.style.position = 'fixed';
referencePopupElement.style.zIndex = 100;
referencePopupElement.style.background = 'white';
referencePopupElement.style.border = '1px solid #808080';
referencePopupElement.style.lineHeight = '1em';
referencePopupElement.onmouseout = refMouseOut;
} else {
referencePopupElement.parentNode.hasReferencePopup = false;
}
var referenceId = this.firstChild.href.split( '#' )[1];
var referenceText = document.getElementById( referenceId ).innerHTML;
referencePopupElement.innerHTML = referenceText;
referencePopupElement.style.left = event.clientX + 'px';
referencePopupElement.style.top = event.clientY + 'px';
referencePopupElement.style.display = 'inline';
this.appendChild( referencePopupElement );
this.hasReferencePopup = true;
}
function refMouseOut( event ) {
this.style.display = 'none';
this.innerHTML = '';
this.parentNode.hasReferencePopup = false;
}