• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Navigation in eigener datei ablegen...

Hi, ich hab ein ganz ähnliches (Verständnis)Problem :D

Auch bei mir: habe nen fetten JS-Teil in meinem Code, will ihn auslagern.

Binde ihn ein mit <script type="text/javascript" language="JavaScript" src="navigation.js"></script> im <head>-Bereich. Erstelle im selben Ordner eine Datei namens "navigation.js" und kopiere alles zwischen den <script>-Tags da hinein.

Resultat: das JS funzt nimmer.



Testweise habe ich in die selbe Datei eine andere Funktion eingebunden (Quadrat einer Eingabe berechnen und in einem alert-Popup anzeigen), das funktionierte.

Wenn ich das script an der Stelle im body einbinde, wo es "gebraucht wird", geht es allerdings. Dabei dachte ich, es muss in den head? *verwirrt sei*

Weiß einer, woran das liegt? Weshalb es nicht reicht, das im head einzubinden?




Hier ist die navigation.js, falls das zur Klärung beiträgt:
......................................................o°

var submenu=new Array()

//Set submenu contents. Expand as needed. For each content, make sure everything exists on ONE LINE. Otherwise, there will be JS errors.

submenu[0]='Inhalt 1'

submenu[1]='Inhalt 2'

submenu[2]='Inhalt 3'


//Set delay before submenu disappears after mouse moves out of it (in milliseconds)
var delay_hide=100

var menuobj=document.getElementById? document.getElementById("describe") : document.all? document.all.describe : document.layers? document.dep1.document.dep2 : ""

function showit(which){
clear_delayhide()
thecontent=(which==-1)? "" : submenu[which]
if (document.getElementById||document.all)
menuobj.innerHTML=thecontent
else if (document.layers){
menuobj.document.write(thecontent)
menuobj.document.close()
}
}

function resetit(e){
if (document.all&&!menuobj.contains(e.toElement))
delayhide=setTimeout("showit(-1)",delay_hide)
else if (document.getElementById&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhide=setTimeout("showit(-1)",delay_hide)
}

function clear_delayhide(){
if (window.delayhide)
clearTimeout(delayhide)
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}



Es wäre zwar nicht tragisch, das im body zu notieren, aber ich verstehe nicht warum, deshalb wäre's fein wenn einer ne Erklärung hätte :)
 
Zuletzt bearbeitet:
falls dein serber php kann mache es so:
<?php include 'navi.php'; ?>
in die navi.php kommt dann
<script language="JavaScript">
dein js</script>
 
Zurück
Oben