Verbindung zweie oder mehrerer Scripten
Andi K
- javascript
Hallo
Wegen eines Onload Problem muss ich zwei scripte verbinden (aus 2 mach 1^^). Problem, wie mach ich das am besten, hab noch nicht wirklich viel erfahrung mit javascript.
Hier die script's
<SCRIPT language="javascript">
var i = 0;
var TextNumber = 0;
var Text = "";
var Speed=22;
var TextInput = new Array();
TextInput[0] = "News";
TextInput[1] = "Hallo die page ist nun endlich on, anderst als die alte bietet diese mehr Möglichkeiten wie zb.: Downloads,Galleriy, Terminkallender, .de domain, guten Style und eine hochwertige Member lounge, mit chat, tipps, insider news, taktikent und anderm.";
// beliebig erweiterbar!
function nextMessage()
{
if (TextNumber+1>=TextInput.length)
{ document.news.teletype.value="Ende der Nachrichten"; }
else
{ i=0; TextNumber++; document.news.Nummer.value= TextNumber; teletype();}
}
function lastMessage()
{
if (TextNumber<=0)
{ document.news.teletype.value="News";}
else
{ i=0; TextNumber--; document.news.Nummer.value= TextNumber; teletype(); }
}
function teletype()
{ i++; Text = TextInput[TextNumber].substring(0, i)+"_"; document.news.teletype.value=Text;
if (Text.length-1>=TextInput[TextNumber].length)
{ clearTimeout(nochmal); Text=""; }
else
{nochmal = setTimeout("teletype()", Speed);}
}
function resetDisplay()
{ TextNumber=0; i=0; document.news.Nummer.value="0"; teletype(); }
function back()
{var xy=window.history.back();}
</SCRIPT>
....1.SCRIPT
<script language="javascript">
var which=0; //momentaner Message-Nummer in der Schleife
var color= ""; //momentaner Farbwert als Hex-String
var fade=1; //1=einblenden -1=ausblenden
var r=0; //momentaner Rot-Wert in der Schleife
var g=0; //momentaner Grün-Wert in der Schleife
var b=0; //momentaner Blau-Wert in der Schleife
r_start=255; //Start=Weiß
g_start=255;
b_start=255;
r_end=0; //Ziel=Schwarz
g_end=0;
b_end=0;
step=3; //um soviel werden die Farbwerte pro Durchlauf heraufgesetzt
var message= new Array();
message[0]='N e w F o x H o u n d'
message[1]='N e w F o x H o u n d'
message[2]='N e w F o x H o u n d'
message[3]='N e w F o x H o u n d'
function hex_it(zahl) {
if (zahl==0) return("0"); if (zahl==1) return("1"); if (zahl==2) return("2");
if (zahl==3) return("3"); if (zahl==4) return("4"); if (zahl==5) return("5");
if (zahl==6) return("6"); if (zahl==7) return("7"); if (zahl==8) return("8");
if (zahl==9) return("9"); if (zahl==10) return("A"); if (zahl==11) return("B");
if (zahl==12) return("C"); if (zahl==13) return("D"); if (zahl==14) return("E");
if (zahl==15) return("F");
}
function byte_to_hex(zahl) {
wert1=Math.floor(zahl/16); //geteilt durch 16; nächste Ganzzahl darunter
wert2=zahl-(wert1*16); //Rest
wert=hex_it(wert1) + hex_it(wert2);
return(wert);
}
function animate(){
color="#"+byte_to_hex(r)+byte_to_hex(g)+byte_to_hex(b);
if (document.layers) { //Netscape
document.animatedtext.document.writeln("<center><font color="+color+" size=+2><NOBR><b>"+message[which]+"</b></NOBR></font><center>");
document.animatedtext.document.close();
}
else { //IExplorer
document.all.animatedtext.innerHTML="<center><font color="+color+" size=+2><NOBR><b>"+message[which]+"</b></NOBR></font></center>";
}
if (fade==1) {
if (r_start<r_end) {if (r<r_end) r+=step; else r=r_end;}
else {if (r>r_end) r-=step;}
if (g_start<g_end) {if (g<g_end) g+=step; else g=g_end;}
else {if (g>g_end) g-=step;}
if (b_start<b_end) {if (b<b_end) b+=step; else b=b_end;}
else {if (b>b_end) b-=step;}
}
else {
if (r_start<r_end) {if (r>r_start) r-=step; else r=r_start;}
else {if (r<r_start) r+=step;}
if (g_start<g_end) {if (g>g_start) g-=step; else g=g_start;}
else {if (g<g_start) g+=step;}
if (b_start<b_end) {if (b>b_start) b-=step; else b=b_start;}
else {if (b<b_start) b+=step;}
}
if ((r==r_end) && (g==g_end) &&(b==b_end)) {fade=-1;}
if ((r==r_start) && (g==g_start) &&(b==b_start)) {
fade=1;r=r_start;g=g_start;b=b_start;
if (which<message.length-1) which+=1;
else which=0;
}
setTimeout('animate()',50);
}
function init() {
r=r_start;
g=g_start;
b=b_start;
setTimeout('animate()',150);
}
</script>
....2.SCRIPT
Also falls mir jemand helfen kann binn ich wie immer dankbar.
Hallo Andi,
Wegen eines Onload Problem muss ich zwei scripte verbinden (aus 2 mach 1^^).
Dieses Problem habe ich hier nicht gefunden.
Problem, wie mach ich das am besten, hab noch nicht wirklich viel erfahrung mit javascript.
Achte darauf, dass es bei allen global definierten Objekten, Funktionen, Variablen etc. (?) keine Konflikte mit deren Namen gibt. Auch Variablen in Funktionen ohne "var" sind global.
Achte darauf, dass sich die Scripte nicht die Eventhandler überschreiben. Dann sollte es gehen. Ich hoffe, ich habe jetzt nichts vergessen.
Bei Deinen Scripten habe ich jetzt keine Probleme gesehen. Aber getestet habe ich es nicht. Was hat denn nicht geklappt?
<SCRIPT language="javascript">
hier fehlt type="text"javascript"
Gruß, Jürgen
Hallo Andi,
Wegen eines Onload Problem muss ich zwei scripte verbinden (aus 2 mach 1^^).
Dieses Problem habe ich hier nicht gefunden.
Problem, wie mach ich das am besten, hab noch nicht wirklich viel erfahrung mit javascript.
Achte darauf, dass es bei allen global definierten Objekten, Funktionen, Variablen etc. (?) keine Konflikte mit deren Namen gibt. Auch Variablen in Funktionen ohne "var" sind global.
Achte darauf, dass sich die Scripte nicht die Eventhandler überschreiben. Dann sollte es gehen. Ich hoffe, ich habe jetzt nichts vergessen.
Bei Deinen Scripten habe ich jetzt keine Probleme gesehen. Aber getestet habe ich es nicht. Was hat denn nicht geklappt?
Also, es war so, der onload eventhandler ladet mir immer nur eines der scripte (PS: die scrite funktionieren einwandfrei_). Nur wird eben immer nur eines der scripten geladen, auch wenn zwei onload eventhandler vorhanden sind. Als problemlösung hat mir mein Infomatik Lehrer gesagt, ich soll beide scripte verbinden. Wie beschrieben hab ich aber keine ahnung wie das geht.
zb:
<html>...
....
....
....
<script....>
function abc() {blablabla} /*ein ticker*/
function abc2() {blablabla} /*eine Uhr*
</script>
</head>
<body onload="abc()"...>
</body>
wie soll das programm nun wissen das abc2 auch ausgeführt werden soll?<<<---Da liegt sicher der wurm drin
<SCRIPT language="javascript">
hier fehlt type="text"javascript"
So wies ich mache gehts auch :P
Gruß, Jürgen
ebenfalls ein Gruß und ein Dankeschön
Hallo Andi,
<script....>
function abc() {blablabla} /*ein ticker*/
function abc2() {blablabla} /*eine Uhr*
function master_onload() {
abc();
abc2();
}
</script>
</head>
<body onload="abc()"...>
<body onload="master_onload()" ...>
oder
<body onload="abc();abc2()"...>
</body>
in Deinem Eröffnungsposting habe ich aber keine zwei Onloadhandler gesehen.
Gruß, Jürgen