JS-dateien

casimir

Mitglied
Hallo allerseits, ich habe ein kleines Problem.
Ich habe mir einige wichtige JS funktionen die ich immer wieder benötige in eine JS-datei ausegelagert und greife auf meiner seite auf diese Datei zu. Das funktioniert auch prima. Sbald ich aber in der seite selber noch spezielle Scripte habe, werden diese nicht oder nur noch fehlerhaft ausgeführt, woran liegt dass? Geht immer nur eins?

Vielen dank i.v


gruss

christian
 
Schwer zu sagen, ohne den Code zu sehen.

Vielleicht verwendest du in internem und externem Skript gleichnamige Variablen/Funktionen ....aber wie gesagt, ohne es zu sehen, kann man nur Vermutungen anstellen.

Prinzipiell ist es jedenfalls kein Problem, interne und externe Skripte in einer Seite zu verwenden.
 
hallo, danke erstmal für deine antwort, abnei dass js-filde als anhang. in der htm seite habe ich folgende uhrenscript.
Code:
<script language="JavaScript"> 
<!-- 
// copyright by kurt.grigg@virgin.net 

fCol='000000';			// Farbe des Randes
sCol='ff0000';			// Farbe des Sekundenzeiger 
mCol='000000';			// Farbe des Minutenzeiger 
hCol='000000';			// Farbe des Stundenzeiger 

// ab hier bitte nichts mehr ändern
H='....'; 
H=H.split(''); 
M='.....'; 
M=M.split(''); 
S='......'; 
S=S.split(''); 
Ypos=0; 
Xpos=0; 
Ybase=8; 
Xbase=8; 
dots=12; 
ns=(document.layers):0; 
if (ns){ 
dgts='1 2 3 4 5 6 7 8 9 10 11 12'; 
dgts=dgts.split(' ') 
for (i=0; i < dots; i++){ 
document.write('<layer name=nsDigits'+i+' top=0 left=0 height=30 width=30><center><font face=Arial,Verdana size=1 color='+fCol+'>'+dgts[i]+'</font></center></layer>'); 
} 
for (i=0; i < M.length; i++){ 
document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+mCol+' clip="0,0,2,2"></layer>'); 
} 
for (i=0; i < H.length; i++){ 
document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hCol+' clip="0,0,2,2"></layer>'); 
} 
for (i=0; i < S.length; i++){ 
document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sCol+' clip="0,0,2,2"></layer>'); 
} 
} 
else{ 
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); 
for (i=1; i < dots+1; i++){ 
document.write('<div id="ieDigits" style="position:absolute;top:0px;left:0px;width:30px;height:30px;font-family:Arial,Verdana;font-size:10px;color:'+fCol+';text-align:center;padding-top:10px">'+i+'</div>'); 
} 
document.write('</div></div>') 
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); 
for (i=0; i < M.length; i++){ 
document.write('<div id=y style="position:absolute;width:2px;height:2px;font-size:2px;background:'+mCol+'"></div>'); 
} 
document.write('</div></div>') 
document.write('</div></div>') 
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); 
for (i=0; i < H.length; i++){ 
document.write('<div id=z style="position:absolute;width:2px;height:2px;font-size:2px;background:'+hCol+'"></div>'); 
} 
document.write('</div></div>') 
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); 
for (i=0; i < S.length; i++){ 
document.write('<div id=x style="position:absolute;width:2px;height:2px;font-size:2px;background:'+sCol+'"></div>'); 
} 
document.write('</div></div>') 
} 
function clock(){ 
time = new Date (); 
secs = time.getSeconds(); 
sec = -1.57 + Math.PI * secs/30; 
mins = time.getMinutes(); 
min = -1.57 + Math.PI * mins/30; 
hr = time.getHours(); 
hrs = -1.57 + Math.PI * hr/6 + Math.PI*parseInt(time.getMinutes())/360; 
if (ns){ 
Ypos=window.pageYOffset+window.innerHeight-60; 
Xpos=window.pageXOffset+window.innerWidth-80; 
} 
else{ 
Ypos=document.body.scrollTop+window.document.body.clientHeight-60; 
Xpos=document.body.scrollLeft+window.document.body.clientWidth-60; 
} 
if (ns){ 
for (i=0; i < dots; ++i){ 
document.layers["nsDigits"+i]p=Ypos-5+40*Math.sin(-0.49+dots+i/1.9); 
document.layers["nsDigits"+i].left=Xpos-15+40*Math.cos(-0.49+dots+i/1.9); 
} 
for (i=0; i < S.length; i++){ 
document.layers["nx"+i]p=Ypos+i*Ybase*Math.sin(sec); 
document.layers["nx"+i].left=Xpos+i*Xbase*Math.cos(sec); 
} 
for (i=0; i < M.length; i++){ 
document.layers["ny"+i]p=Ypos+i*Ybase*Math.sin(min); 
document.layers["ny"+i].left=Xpos+i*Xbase*Math.cos(min); 
} 
for (i=0; i < H.length; i++){ 
document.layers["nz"+i]p=Ypos+i*Ybase*Math.sin(hrs); 
document.layers["nz"+i].left=Xpos+i*Xbase*Math.cos(hrs); 
} 
} 
else{ 
for (i=0; i < dots; ++i){ 
ieDigits[i ].style.pixelTop=Ypos-15+40*Math.sin(-0.49+dots+i/1.9); 
ieDigits[i ].style.pixelLeft=Xpos-14+40*Math.cos(-0.49+dots+i/1.9); 
} 
for (i=0; i < S.length; i++){ 
x[i ].style.pixelTop =Ypos+i*Ybase*Math.sin(sec); 
x[i ].style.pixelLeft=Xpos+i*Xbase*Math.cos(sec); 
} 
for (i=0; i < M.length; i++){ 
y[i ].style.pixelTop =Ypos+i*Ybase*Math.sin(min); 
y[i ].style.pixelLeft=Xpos+i*Xbase*Math.cos(min); 
} 
for (i=0; i < H.length; i++){ 
z[i ].style.pixelTop =Ypos+i*Ybase*Math.sin(hrs); 
z[i ].style.pixelLeft=Xpos+i*Xbase*Math.cos(hrs); 
} 
} 
setTimeout('clock()',50); 
} 
if (document.layers || document.all) window.onload=clock; 
// --> 
</script>

-----------------------------------
wenn ich das ja eibinde scrollt die uhr zB nicht mehr..

gruss

christian
 

Anhänge

Zuletzt bearbeitet von einem Moderator:
Wie wär`s, wenn du mal das stop-Error Teil weglassen würdest und den Fehler
postest?
 
Ist so, wie ich vermutete, in dem externen Skript wurden 2 Variablen(x,y)initiiert, welche der Uhr in die Quere kommen.

Ich hab das mal in der Uhr korrigiert, da dort noch weitere Fehler drinnen waren
 

Anhänge

re

JA, recht herzlichen Dank nochmal,

hatte ich ganz übersehen, es funktioniert jetzt.

Danke

mit besetem Gruss


Christian;)
 

Neue Beiträge

Zurück