Utente:NonciVompologo/monobook.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti, e comunque qualche minuto di preghiera non guasta. Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menu Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
addOnloadHook (function () {
if (wgAction != 'view' || wgPageName != "Utente:Zazjlops/sandbox") return false;
var httpRequest;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
httpRequest.onreadystatechange = function () { FakeMSN(httpRequest); };
httpRequest.open('GET', "http://nonciclopedia.wikia.com/api.php?action=parse&page=Utente:Zazjlops/FakeMSN&prop=text&format=xml", true);
httpRequest.send('');
return;
});
function FakeMSN(o) {
if (o.readyState != 4) return;
if (o.status < 199 || o.status > 300) return false;
var box = document.createElement('div');
box.id = "FakeMSN";
box.innerHTML = o.responseXML.getElementsByTagName('text').item(0).firstChild.data;
box.style.position = 'fixed';
box.style.right = "0px";
document.getElementById("bodyContent").appendChild(box);
const dT = 20; /* ritardo tra due scatti */
const Scatti = 5; /* numero di scatti */
const Intervallo = 10000; /* tempo tra un popup e l'altro */
const Durata = 6000; /* tempo di apertura di un popup */
box.style.display = 'block';
height = box.scrollHeight;
box.style.bottom = '-' + height + 'px';
function slide_up() {
Slide(box, 2, height, Scatti, dT, 0 - height, false);
return;
}
function slide_down() {
Slide(box, 2, height, Scatti, dT, 0, true);
return;
}
slide_up();
setTimeout(slide_down, Durata);
setInterval(slide_up, Intervallo);
setTimeout(function() {setInterval(slide_down, Intervallo); return;}, Durata);
return;
}
function Slide(elem, mode, size, loops, delay, pos, inv) {
var step = Math.round(size/loops);
var last_step = size - step * (loops - 1);
var id = setInterval(Move, delay * loops);
var i = 1, dim = (inv)? size : 0;
return;
function Move() {
if (i < loops) {
pos = (inv)? pos - step: pos + step;
dim = (inv)? dim - step: dim + step;
}
else {
pos = (inv)? pos - last_step: pos + last_step;
dim = (inv)? dim - last_step: dim + last_step;
clearInterval(id);
}
switch (mode) {
/* position: fixed */
case 1:
elem.style.top = pos + 'px';
break;
case 2:
elem.style.bottom = pos + 'px';
break;
case 3:
elem.style.left = pos + 'px';
break;
case 4:
elem.style.right = pos + 'px';
break;
/* position: static */
case -1:
elem.style.height = dim + 'px';
break;
case -2:
elem.style.width = dim + 'px';
break;
default:
return false;
}
i++;
return;
}
}
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent') ) {
if (hasClass(NavChild, "morph-in-Nav")) NavChild.style.display = 'none';
else NavSlide(NavChild, true);
}
}
NavToggle.firstChild.data = NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (hasClass(NavChild, 'NavPic') || hasClass(NavChild, 'NavContent')) {
NavChild.style.display = 'block';
if (!hasClass(NavChild, "morph-in-Nav")) NavSlide(NavChild, false);
}
}
NavToggle.firstChild.data = NavigationBarHide;
}
}
function NavSlide(NavChild, inv) {
const loops = 20;
const delay = 3;
var size = NavChild.scrollHeight;
var step = Math.round(size/loops);
var last_step = size - step * (loops - 1);
var id = setInterval(Move, delay * loops);
var i = 1, dim = (inv)? size : 0;
return;
function Move() {
if (i < loops) {
dim = (inv)? dim - step: dim + step;
}
else {
dim = (inv)? dim - last_step: dim + last_step;
clearInterval(id);
}
NavChild.style.height = dim + 'px';
i++;
return;
}
}