User:Knife/monobook.js: Difference between revisions

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
(testing...)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
/* Knife's custom .js (Javascript) */
////////////////////////////////////////////////////////////////
// Javascript made by Rasmus - http://www.peters1.dk //
////////////////////////////////////////////////////////////////


// Dynamic Navigation Bar Code from Wikipedia's MediaWiki:Monobook.js file. This is a test that may go onto our Monobook.js.
var SNOW_Picture = "http://www.domain.com/billeder/snow.gif"
var SNOW_no = 15;


@import "/index.php?title=Mediawiki:Monobook.js&action=raw&ctype=text/javascript";
var SNOW_browser_IE_NS = (document.body.clientHeight) ? 1 : 0;
@import "/index.php?title=User:Wayoshi/monobook.js&action=raw&ctype=text/javascript";
var SNOW_browser_MOZ = (self.innerWidth) ? 1 : 0;
var SNOW_browser_IE7 = (document.documentElement.clientHeight) ? 1 : 0;
// set up the words in your language
 
var NavigationBarHide = '[ Hide ]';
var SNOW_Time;
var NavigationBarShow = '[ Show ]';
var SNOW_dx, SNOW_xp, SNOW_yp;
var SNOW_am, SNOW_stx, SNOW_sty;  
// set up max count of Navigation Bars on page,
var i, SNOW_Browser_Width, SNOW_Browser_Height;
// if there are more, all will be hidden
 
// NavigationBarShowDefault = 0; // all bars will be hidden
if (SNOW_browser_IE_NS)
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
{
var NavigationBarShowDefault = 1;
SNOW_Browser_Width = document.body.clientWidth;
SNOW_Browser_Height = document.body.clientHeight;
}
// shows and hides content and picture (if available) of navigation bars
else if (SNOW_browser_MOZ)
// Parameters:
{
//    indexNavigationBar: the index of navigation bar to be toggled
SNOW_Browser_Width = self.innerWidth - 20;
function toggleNavigationBar(indexNavigationBar)
SNOW_Browser_Height = self.innerHeight;
{
}
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
else if (SNOW_browser_IE7)
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
{
SNOW_Browser_Width = document.documentElement.clientWidth;
    if (!NavFrame || !NavToggle) {
SNOW_Browser_Height = document.documentElement.clientHeight;
        return false;
}
    }
 
SNOW_dx = new Array();
    // if shown now
SNOW_xp = new Array();
    if (NavToggle.firstChild.data == NavigationBarHide) {
SNOW_yp = new Array();
        for (
SNOW_am = new Array();
                var NavChild = NavFrame.firstChild;
SNOW_stx = new Array();
                NavChild != null;
SNOW_sty = new Array();
                NavChild = NavChild.nextSibling
 
            ) {
for (i = 0; i < SNOW_no; ++ i)  
            if (NavChild.className == 'NavPic') {
{  
                NavChild.style.display = 'none';
SNOW_dx[i] = 0;  
            }
SNOW_xp[i] = Math.random()*(SNOW_Browser_Width-50);
            if (NavChild.className == 'NavContent') {
SNOW_yp[i] = Math.random()*SNOW_Browser_Height;
                NavChild.style.display = 'none';
SNOW_am[i] = Math.random()*20;  
            }
SNOW_stx[i] = 0.02 + Math.random()/10;
        }
SNOW_sty[i] = 0.7 + Math.random();
    NavToggle.firstChild.data = NavigationBarShow;
if (i == 0) document.write("<\div id=\"SNOW_flake"+ i +"\" style=\"position: absolute; z-index: "+ i +"; visibility: visible; top: 15px; left: 15px;\"><a href=\"http://www.peters1.dk\" target=\"_blank\"><\img src=\""+SNOW_Picture+"\" border=\"0\"></a><\/div>");
else document.write("<\div id=\"SNOW_flake"+ i +"\" style=\"position: absolute; z-index: "+ i +"; visibility: visible; top: 15px; left: 15px;\"><\img src=\""+SNOW_Picture+"\" border=\"0\"><\/div>");
    // if hidden now
}
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
 
        for (
function SNOW_Weather()  
                var NavChild = NavFrame.firstChild;
{
                NavChild != null;
 
                NavChild = NavChild.nextSibling
for (i = 0; i < SNOW_no; ++ i)
            ) {
{  
            if (NavChild.className == 'NavPic') {
SNOW_yp[i] += SNOW_sty[i];
                NavChild.style.display = 'block';
 
            }
if (SNOW_yp[i] > SNOW_Browser_Height-50)  
            if (NavChild.className == 'NavContent') {
{
                NavChild.style.display = 'block';
SNOW_xp[i] = Math.random()*(SNOW_Browser_Width-SNOW_am[i]-30);
            }
SNOW_yp[i] = 0;
        }
SNOW_stx[i] = 0.02 + Math.random()/10;
    NavToggle.firstChild.data = NavigationBarHide;
SNOW_sty[i] = 0.7 + Math.random();
    }
}
}
 
SNOW_dx[i] += SNOW_stx[i];
// adds show/hide-button to navigation bars
 
function createNavigationBarToggleButton()
document.getElementById("SNOW_flake"+i).style.top=SNOW_yp[i]+"px";
{
document.getElementById("SNOW_flake"+i).style.left=SNOW_xp[i] + SNOW_am[i]*Math.sin(SNOW_dx[i])+"px";
    var indexNavigationBar = 0;
}
    // iterate over all < div >-elements
 
    for(
SNOW_Time = setTimeout("SNOW_Weather()", 10);
            var i=0;
 
            NavFrame = document.getElementsByTagName("div")[i];  
}
            i++
 
        ) {
SNOW_Weather();  
        // if found a navigation bar
 
        if (NavFrame.className == "NavFrame") {
  Include this html code right after <body> on the webpages, you wants the snowflakes to appear:
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
           
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(
              var j=0;  
              j < NavFrame.childNodes.length;  
              j++
            ) {
              if (NavFrame.childNodes[j].className == "NavHead") {
                NavFrame.childNodes[j].appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for(
                var i=1;  
                i<=indexNavigationBar;
                i++
        ) {
            toggleNavigationBar(i);
        }
    }
}
addLoadEvent(createNavigationBarToggleButton);
  // END Dynamic Navigation Bars

Latest revision as of 11:51, October 28, 2011

////////////////////////////////////////////////////////////////
// Javascript made by Rasmus - http://www.peters1.dk //
////////////////////////////////////////////////////////////////

var SNOW_Picture = "http://www.domain.com/billeder/snow.gif"
var SNOW_no = 15;

var SNOW_browser_IE_NS = (document.body.clientHeight) ? 1 : 0;
var SNOW_browser_MOZ = (self.innerWidth) ? 1 : 0;
var SNOW_browser_IE7 = (document.documentElement.clientHeight) ? 1 : 0;

var SNOW_Time;
var SNOW_dx, SNOW_xp, SNOW_yp;
var SNOW_am, SNOW_stx, SNOW_sty; 
var i, SNOW_Browser_Width, SNOW_Browser_Height;

if (SNOW_browser_IE_NS)
{
	SNOW_Browser_Width = document.body.clientWidth;
	SNOW_Browser_Height = document.body.clientHeight;
}
else if (SNOW_browser_MOZ)
{
	SNOW_Browser_Width = self.innerWidth - 20;
	SNOW_Browser_Height = self.innerHeight;
}
else if (SNOW_browser_IE7)
{
	SNOW_Browser_Width = document.documentElement.clientWidth;
	SNOW_Browser_Height = document.documentElement.clientHeight;
}

SNOW_dx = new Array();
SNOW_xp = new Array();
SNOW_yp = new Array();
SNOW_am = new Array();
SNOW_stx = new Array();
SNOW_sty = new Array();

for (i = 0; i < SNOW_no; ++ i) 
{ 
	SNOW_dx[i] = 0; 
	SNOW_xp[i] = Math.random()*(SNOW_Browser_Width-50);
	SNOW_yp[i] = Math.random()*SNOW_Browser_Height;
	SNOW_am[i] = Math.random()*20; 
	SNOW_stx[i] = 0.02 + Math.random()/10;
	SNOW_sty[i] = 0.7 + Math.random();
	if (i == 0) document.write("<\div id=\"SNOW_flake"+ i +"\" style=\"position: absolute; z-index: "+ i +"; visibility: visible; top: 15px; left: 15px;\"><a href=\"http://www.peters1.dk\" target=\"_blank\"><\img src=\""+SNOW_Picture+"\" border=\"0\"></a><\/div>");
	else document.write("<\div id=\"SNOW_flake"+ i +"\" style=\"position: absolute; z-index: "+ i +"; visibility: visible; top: 15px; left: 15px;\"><\img src=\""+SNOW_Picture+"\" border=\"0\"><\/div>");
}

function SNOW_Weather() 
{ 

for (i = 0; i < SNOW_no; ++ i) 
{ 
	SNOW_yp[i] += SNOW_sty[i];

	if (SNOW_yp[i] > SNOW_Browser_Height-50) 
	{
		SNOW_xp[i] = Math.random()*(SNOW_Browser_Width-SNOW_am[i]-30);
		SNOW_yp[i] = 0;
		SNOW_stx[i] = 0.02 + Math.random()/10;
		SNOW_sty[i] = 0.7 + Math.random();
	}

	SNOW_dx[i] += SNOW_stx[i];

	document.getElementById("SNOW_flake"+i).style.top=SNOW_yp[i]+"px";
	document.getElementById("SNOW_flake"+i).style.left=SNOW_xp[i] + SNOW_am[i]*Math.sin(SNOW_dx[i])+"px";
}

SNOW_Time = setTimeout("SNOW_Weather()", 10);

}

SNOW_Weather(); 

 Include this html code right after <body> on the webpages, you wants the snowflakes to appear: