Javascript , ich versteh es nicht :)
Christian Sturm
- javascript
Bitte sagt mir mal warum es nicht funktioniert.
Ich bin mit Javascript noch etwas wackelig,
und daher würde ich gern wissen wo der Haken liegt...
Lieber Gruß
Chris
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
for(var zaehler=0;zaehler<=(uebergabe.length-1);time++){
buchstabe=charAt(time);
farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode="1") {
farbe="#00AAFF";
}
if (farbcode="2") {
farbe="#00FFAA";
}
if (farbcode="3") {
farbe="#FFAA00";
}
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('Ich bin bunt');">
</body>
</html>
Moin
for(var zaehler=0;zaehler<=(uebergabe.length-1);time++){
was ist time? Steht das in einer Beziehung zu zaehler?
Gruß
rfb
Hast recht, das war nen bug... aber funktionieren tut es immernoch nicht... :(
Hier nochmal der aktuelle Stand:
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){
buchstabe=charAt(time);
farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode="1") {
farbe="#00AAFF";
}
if (farbcode="2") {
farbe="#00FFAA";
}
if (farbcode="3") {
farbe="#FFAA00";
}
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('hallo');">
Hallo!
if (farbcode="1") {
if (farbcode="2") {
if (farbcode="3") {
Achte auf die Anzahl deiner Gleichheitszeichen :) Du weist in deinem Code der Variablen farbcode jeweils einen Wert zu. Du willst ihn aber vergleichen.
ciao, ww
Ja, ok... das leuchtet ein....
ich bin mir nicht sicher mit der Anwendung von var....
Wann braucht man var, und wann nicht?
Aktuelle Variante des Havariescripts: :)
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){
var buchstabe=charAt(zaehler);
var farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode=="1") {
farbe="#00AAFF";
}
if (farbcode=="2") {
farbe="#00FFAA";
}
if (farbcode=="3") {
farbe="#FFAA00";
}
var ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('hallo');">
Moin
var ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
hier deklarierst du eine neue Variable, wenn du ihr einen Wert zuweisen willst dann mit = denn += setzt voraus,d as vorher schon etwas darin enthalten ist.
Gruß
rfb
Wäre dieser Ansatz strukturell richtig?
PS: IE meint Object expected... *grummel* :)
Wie bzw. wo liegt denn nun der Fehler? *voll ungeduldig bin*
Aktuelle Katastrophe:
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
var ausgabestring=" ";
var buchstabe;
var zaehler;
var farbcode;
for(zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){
buchstabe=charAt(zaehler);
farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode=="1") {
farbe="#00AAFF";
}
if (farbcode=="2") {
farbe="#00FFAA";
}
if (farbcode=="3") {
farbe="#FFAA00";
}
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('hallo');">
Moin
Wie bzw. wo liegt denn nun der Fehler? *voll ungeduldig bin*
buchstabe=charAt(zaehler);
wovon suchst du das soundsovielte Zeichen?
Das steht hier nicht, woher soll der JavaScript-Interpreter das wissen.
Gruß
rfb
Auweia... bin ich durch... habe die Nacht durchgearbeitet.... sollte meine Fragen wohl eher im ausgeschlafenen Zustand stellen... *g*
Lieber Gruß
Chris
Vielen Dank für Deine Hilfe!
Lieber Gruß
Chris
Das Ergebnis für alle die es auch lernen wollen:
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){
var buchstabe=charAt(zaehler);
var farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode=="1") {
farbe="#00AAFF";
}
if (farbcode=="2") {
farbe="#00FFAA";
}
if (farbcode=="3") {
farbe="#FFAA00";
}
var ausgabestring='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('hallo');">
und halt korrigiert:
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
var ausgabestring=" ";
var buchstabe;
var zaehler;
var farbcode;
for(zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){
buchstabe=uebergabe.charAt(zaehler);
farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode=="1") {
farbe="#00AAFF";
}
if (farbcode=="2") {
farbe="#00FFAA";
}
if (farbcode=="3") {
farbe="#FFAA00";
}
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('hallo');">
Lieber Christian,
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
dieser <font>-Mist ist wirklich Müll! Glaub' es halt! Besser so:
ausgabestring += '<span style="color:' + farbe + '">' + buchstabe + '<\/span>';
alert(ausgabestring);
Das willst Du später in der endgültigen Version aber nicht mehr, oder?
<body onload="JavaScript:randomise('hallo');">
Bitte, bitte schmeiß dieses "JavaScript:" aus dem Eventhandler raus! Das nimmt man bei Verweisen als Pseudoprotokoll, aber nicht in Eventhandlern.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Vielen Dank!!!!
Solche unterstützung ist cool!!!!!
Was mir noch aufgefallen ist, das der IE7 bei einem Reload
die Farben beibehält...
Gibts da noch eine Idee zu? Dann wäre es Perfekt!
Lieber Gruß
Chris
Moin
buchstabe=charAt(time);
und hier!
Gruß
rfb
Ja unten mußte natürlich auch noch geändert werden...
aber immernoch kein Erbebnis! :(
<HTML>
<HEAD>
<script type="text/JavaScript">
function randomise(uebergabe){
for(var zaehler=0;zaehler<=(uebergabe.length-1);zaehler++){
buchstabe=charAt(zaehler);
farbcode=Math.ceil(Math.random() * 1000) % 3 + 1;
if (farbcode="1") {
farbe="#00AAFF";
}
if (farbcode="2") {
farbe="#00FFAA";
}
if (farbcode="3") {
farbe="#FFAA00";
}
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
}
alert(ausgabestring);
}
</script>
</head>
<body onload="JavaScript:randomise('hallo');">
Lieber Christian,
was ich nicht verstehe ist, warum Du nicht in Deinem alten Thread geblieben bist...
ausgabestring+='<font color="'+farbe+'">'+buchstabe+'</font>';
Du fummelst ja noch immer mit diesem veralteten Quatsch rum! Warum tust Du das trotz meines Hinweises?
Liebe Grüße aus Ellwangen,
Felix Riesterer.