Problem mit window.onload=funktion;

xony

Erfahrenes Mitglied
Hallo Leute,

ich hab ein kleines Problem.
Ich muss 2 javascripte auf einer Seite Laden.
Aber anscheinend kommen die sich in die quere.

Ich denke es liegt daran das beide Scripte die Funktion

window.onload

benutzen.

Denn wenn ich diesen Eintrag entferne funktioniert das eine Script aber das andere nicht mehr.
Umgekehrt genauso.


Es steht ja in der letzten Zeile auch das wenn man noch andere Scripte laden möchte, sollte man diese funktion wechseln.

Code:
// Global variables
var currentTab,currentLink;

// Change if you want to use another class for highlighting
var tabHighlightClass='tabon';

function initTabs()
{
// change if you have another main navigation ids for tabbed or normal element id
	var navElement='navlist1';
	var navElementTabbedId='navlist1';

// pattern to check against to identify "back to menu" links
	var backToMenu=/#top/;

	var n,as,id,i,linklength,lastlink;
	if(document.getElementById && document.createTextNode)
	{
		var n=document.getElementById(navElement);
		n.id=navElementTabbedId;
		n=document.getElementById(navElementTabbedId)
		var as=n.getElementsByTagName('a');
		for (var i=0;i<as.length;i++)
		{
			as[i].onclick=function(){showTab(this);return false}
			//as[i].onkeypress=function(){showTab(this);return false}
			var id=as[i].href.match(/#(\w.+)/)[1];
			if(i==0)
			{
				currentTab=id;
				currentLink=as[i];
			}
			if(document.getElementById(id))
			{
				linklength=document.getElementById(id).getElementsByTagName('a').length;
				if(linklength>0)
				{
					lastlink=document.getElementById(id).getElementsByTagName('a')[linklength-1]
					if(backToMenu.test(lastlink.href))
					{
						lastlink.parentNode.removeChild(lastlink);
					}
				}
				document.getElementById(id).style.display='none';
			}
		}
		if(document.getElementById(currentTab))
		{
			document.getElementById(currentTab).style.display='block';
		}
		currentLink.className=currentLink.className+' '+tabHighlightClass
	}
}
function showTab(o)
{
	var id;
	if(currentTab)
	{
		if(document.getElementById(currentTab))
		{
			document.getElementById(currentTab).style.display='none';
		}
		currentLink.className=currentLink.className.replace(' '+tabHighlightClass,'')
	}
	var id=o.href.match(/#(\w.+)/)[1];
	currentTab=id;
	currentLink=o;
	if(document.getElementById(id))
	{
		document.getElementById(id).style.display='block';
	}
	o.className=o.className+' '+tabHighlightClass
}

// If you need to call other scripts onload, change this call
window.onload=initTabs;

Wie aber ist das gemeint. Gibt es eine Alternative zu dieser Funktion.

Javascript ist nicht mein Fach.

Ich hoffe es kann mir jemand helfen.

DAnkeschön und ein schönes Wochenende.]
 
Rufe deine zweite onloadfunktion in der ersten auf:

Beispiel:

Code:
function ausgabe()
{
alert("Test")
makerule() 
}

Im Beispiel wäre makeruile() die zweite onload funktion()...
 
mhhh.
Erstmal danke für Deine Antwort.
Aber ich habs wirklich nicht so mit Javascript.
Hab auch schon Bücher gewälzt und gegoogelt aber wenn das Verständnis nicht da ist...........Aber ich mach Fortschritte!.

Also ich hab die zwei onloadfunktionen:

window.onload=f31

und

window.onload=initTabs;

Wie soll ich diese jetzt zu einer Funktion bekommen?.
Ach ich wäre Die wirklich dankbar wenn Du mir das anhand Deines Beispieles nochmal genau erläutern könntest.
Derweil versuche ichs nochmal vielleicht bekomm ichs ja hin.

DAnke.


EDIT:

Also ich habs mal so versucht:

function ausgabe()
{
alert("initTabs")
makerule("f31")
}

window.onload=ausgabe()

das klappt leider nicht so ganz.
 
Zuletzt bearbeitet:
Dankeschön.
Aber ich glaube ich raffs nicht.

muss ich die vorhandenen Funktionen löschen und anstatt dessen Deinen Eintrag hinsetzen.
 

Neue Beiträge

Zurück