MediaWiki:Navigation.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K |
K |
||
Zeile 1: | Zeile 1: | ||
+ | |||
+ | /*********************************** | ||
+ | Anpassen an Browserfenster, u.a. | ||
+ | ************************************/ | ||
+ | |||
+ | function sizeX() { | ||
+ | |||
+ | var normW = 1024, | ||
+ | thisW = window.innerWidth || document.documentElement.offsetWidth || 0, | ||
+ | rand_abstand = (thisW > normW)? Math.round((thisW - normW)/20*3) : 0; | ||
+ | |||
+ | document.body.style.paddingRight = | ||
+ | document.body.style.paddingLeft = | ||
+ | document.getElementById("p-personal").style.marginLeft = | ||
+ | rand_abstand+'px'; | ||
+ | |||
+ | newRules[0].style.left = // #siteNotice.fixed | ||
+ | rand_abstand+10+'px'; | ||
+ | |||
+ | document.getElementById("footer").style.marginLeft = | ||
+ | document.getElementById("footer").style.marginRight = | ||
+ | -rand_abstand+'px'; | ||
+ | |||
+ | document.getElementById("bodyContent").style.marginRight = | ||
+ | document.getElementById("bodyContent").style.marginLeft = | ||
+ | rand_abstand/2+'px'; | ||
+ | } | ||
+ | |||
+ | function sizeY() { | ||
+ | //Maße und Elemente | ||
+ | var body_height = document.getElementById("footer").offsetTop + 70, | ||
+ | screen_height = window.innerHeight || | ||
+ | document.documentElement.offsetHeight | ||
+ | diff = screen_height - body_height; | ||
+ | // Höhe anpassen | ||
+ | var spacer = document.getElementById("catlinks")? | ||
+ | document.getElementById("catlinks").parentNode.insertBefore(document.createElement("DIV"), document.getElementById("catlinks")) : | ||
+ | document.getElementById("bodyContent").appendChild( document.createElement("DIV") ); | ||
+ | spacer.style.paddingTop = diff > 0 ? diff +"px" : 0; | ||
+ | } | ||
+ | |||
+ | sizeX(); | ||
+ | sizeY(); | ||
+ | window.onresize = function() { sizeX(); }; | ||
+ | window.onresize = function() { sizeY(); }; | ||
+ | |||
+ | /***************** | ||
+ | Navigation | ||
+ | *****************/ | ||
var nav = document.getElementById('nv'); | var nav = document.getElementById('nv'); | ||
Zeile 35: | Zeile 84: | ||
styleNv(); | styleNv(); | ||
window.onscroll = fixNv; | window.onscroll = fixNv; | ||
+ | |||
+ | /***************** | ||
+ | Top Arrows | ||
+ | *****************/ | ||
+ | |||
+ | function PageHomeArrows() | ||
+ | { | ||
+ | //if (!wgNamespaceNumber || wgNamespaceNumber <100) return; | ||
+ | var c = document.getElementById("bodyContent") || document.getElementById("mw_content") || document.getElementById("article"); | ||
+ | if (!c) return; | ||
+ | for (var level = 2; level <= 3; ++level) { | ||
+ | var h = c.getElementsByTagName("h" + level); | ||
+ | for (var i = 0; i < h.length; ++i) { | ||
+ | var mwh = h[i].lastChild; // moveEditsection not run yet | ||
+ | if (mwh && mwh.className == "mw-headline" && mwh.offsetTop>screen.availHeight) { | ||
+ | var arrow = document.createElement("a"); | ||
+ | arrow.className = "toparrow noprint"; | ||
+ | arrow.title= "zum Seitenanfang"; | ||
+ | arrow.appendChild(document.createTextNode("top↑")); | ||
+ | arrow.href = "javascript:window.scrollTo(0,0); void 0;"; | ||
+ | mwh.insertBefore(arrow, mwh.firstChild); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | addOnloadHook(PageHomeArrows); |
Version vom 10. Januar 2012, 14:03 Uhr
/***********************************
Anpassen an Browserfenster, u.a.
************************************/
function sizeX() {
var normW = 1024,
thisW = window.innerWidth || document.documentElement.offsetWidth || 0,
rand_abstand = (thisW > normW)? Math.round((thisW - normW)/20*3) : 0;
document.body.style.paddingRight =
document.body.style.paddingLeft =
document.getElementById("p-personal").style.marginLeft =
rand_abstand+'px';
newRules[0].style.left = // #siteNotice.fixed
rand_abstand+10+'px';
document.getElementById("footer").style.marginLeft =
document.getElementById("footer").style.marginRight =
-rand_abstand+'px';
document.getElementById("bodyContent").style.marginRight =
document.getElementById("bodyContent").style.marginLeft =
rand_abstand/2+'px';
}
function sizeY() {
//Maße und Elemente
var body_height = document.getElementById("footer").offsetTop + 70,
screen_height = window.innerHeight ||
document.documentElement.offsetHeight
diff = screen_height - body_height;
// Höhe anpassen
var spacer = document.getElementById("catlinks")?
document.getElementById("catlinks").parentNode.insertBefore(document.createElement("DIV"), document.getElementById("catlinks")) :
document.getElementById("bodyContent").appendChild( document.createElement("DIV") );
spacer.style.paddingTop = diff > 0 ? diff +"px" : 0;
}
sizeX();
sizeY();
window.onresize = function() { sizeX(); };
window.onresize = function() { sizeY(); };
/*****************
Navigation
*****************/
var nav = document.getElementById('nv');
function findPos(b) { //Position von b ( = nav) ermitteln
var a = 0;
if(b.offsetParent)
for(a = b.offsetTop;b = b.offsetParent;)
a += b.offsetTop;
return[a];
}
var nvY = findPos(nav);
function fixNv() {
//Scrollposition ermitteln
var scrY = document.documentElement.scrollTop || // Explorer 6 Strict
document.body.scrollTop || //all other Explorers
self.pageYOffset ||
0;
if(self.pageYOffset)
scrY = self.pageYOffset;
else if(document.documentElement && document.documentElement.scrollTop)
scrY = document.documentElement.scrollTop;
else if(document.body)
scrY = document.body.scrollTop;
if(typeof document.body.style.maxHeight != "undefined" && nav!='') // nur neuere Browser
nav.className = scrY > nvY - 16 ? "fixed" : "absolute";
}
function styleNv() {
var selflink = document.getElementById('chapters').getElementsByTagName('STRONG')[0]||0;
if (selflink && selflink.parentNode.parentNode.parentNode.parentNode.tagName == 'LI') {
selflink.parentNode.parentNode.parentNode.parentNode.className='self_parent';
}
}
styleNv();
window.onscroll = fixNv;
/*****************
Top Arrows
*****************/
function PageHomeArrows()
{
//if (!wgNamespaceNumber || wgNamespaceNumber <100) return;
var c = document.getElementById("bodyContent") || document.getElementById("mw_content") || document.getElementById("article");
if (!c) return;
for (var level = 2; level <= 3; ++level) {
var h = c.getElementsByTagName("h" + level);
for (var i = 0; i < h.length; ++i) {
var mwh = h[i].lastChild; // moveEditsection not run yet
if (mwh && mwh.className == "mw-headline" && mwh.offsetTop>screen.availHeight) {
var arrow = document.createElement("a");
arrow.className = "toparrow noprint";
arrow.title= "zum Seitenanfang";
arrow.appendChild(document.createTextNode("top↑"));
arrow.href = "javascript:window.scrollTo(0,0); void 0;";
mwh.insertBefore(arrow, mwh.firstChild);
}
}
}
}
addOnloadHook(PageHomeArrows);