Zähler um 10 erhöhen - kann mir jemand helfen?
lousypoetry
- javascript
Hallo zusammen!
Mal wieder ein vermutlich simples problem bzw. eine simple funktion mit einem problem, es geht um einen zähler:
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
window.document.spiel.treffer.value = zaehler++;
}
funktioniert auch wunderbar, aber: wenn ich den zaehler nicht um '1' sondern um '10' erhöhen will dachte ich mir
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
window.document.spiel.treffer.value = zaehler+10;
}
funktioniert aber nur beim ersten erhöhen,danach nicht mehr. Kann mir da jemand helfen? Danke!
Hallo,
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
window.document.spiel.treffer.value = zaehler++;
//entspricht:
zaehler=zaehler+1; window.document.spiel.treffer.value = zaehler;
}
funktioniert auch wunderbar, aber: wenn ich den zaehler nicht um '1' sondern um '10' erhöhen will dachte ich mir
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
window.document.spiel.treffer.value = zaehler+10;
zaehler=zaehler+10; window.document.spiel.treffer.value = zaehler;
//oder
window.document.spiel.treffer.value = zaehler+=10;
}
funktioniert aber nur beim ersten erhöhen,danach nicht mehr. Kann mir da jemand helfen? Danke!
viele Grüße
Axel
window.document.spiel.treffer.value = zaehler+=10;
jau, danke, jetzt gehts, hat wohl an dem '+=' gelegen. aber noch mal eine andere frage: ich möchte, dass wenn der user mit der maus klickt sich ein zähler immer um '1' erhöht, drückt er eine taste, soll sich der zähler um '1' verringern. meine idee:
var zaehler = 1;
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
zaehler++;
}
function zaehlen2()
{
window.document.spiel.treffer.value = zaehler;
zaehler--;
}
und dazu:
<body onClick="zaehlen()" onKeyDown="zaehlen2()">
funktioniert soweit auch, nur: angenommen ich zähle per mausklick bis '3' hoch, wenn ich dann eine Taste drücke springt der zähler erst auf '4' und beim zweiten drücken zählt er dann abwärts. Woran liegt das? Hängt das mit
var zaehler = 1;
zusammen?
aber noch mal eine andere frage: ich möchte, dass wenn der user mit der maus klickt sich ein zähler immer um '1' erhöht, drückt er eine taste, soll sich der zähler um '1' verringern. meine idee:
Geh doch mal den Programmablauf durch:
var zaehler = 1;
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
//nun steht im Formularfeld der Wert von zaehler
zaehler++;
//erst _jetzt_ wird um 1 erhöht
}
function zaehlen2()
{
window.document.spiel.treffer.value = zaehler;
zaehler--;
}und dazu:
<body onClick="zaehlen()" onKeyDown="zaehlen2()">funktioniert soweit auch, nur: angenommen ich zähle per mausklick bis '3' hoch, wenn ich dann eine Taste drücke springt der zähler erst auf '4' und beim zweiten drücken zählt er dann abwärts. Woran liegt das? Hängt das mit
var zaehler = 1;
zusammen?
Nein, damit, dass Du _zuerst_ den Wert ins Feld schreibst und _dann_ weiterzählst. Dadurch wird der Wert beim letzten Plus noch um eins erhöht. Dieser Wert wird aber erst beim nächsten Plus oder eben auch Minus ins Feld geschrieben.
var zaehler = 0;
function zaehlen() {
zaehler++;
window.document.spiel.treffer.value = zaehler;
}
function zaehlen2() {
zaehler--;
window.document.spiel.treffer.value = zaehler;
}
viele Grüße
Axel
oder so:
function zaehlen()
{
window.document.spiel.treffer.value = ++zaehler;
}
function zaehlen2()
{
window.document.spiel.treffer.value = --zaehler;
}
das nennt sich dann pre-Inkrement/Dekrement (glaub ich ;)
Gruß, Andreas
Hallo lousypoetry,
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
window.document.spiel.treffer.value = zaehler++;
}
Warum setzt Du erst auf zaehler? Und wo ist zaehler überhaupt definiert (golbale Variable)?
funktioniert auch wunderbar, aber: wenn ich den zaehler nicht um '1' sondern um '10' erhöhen will dachte ich mir
function zaehlen()
{
window.document.spiel.treffer.value = zaehler;
Hier dieselbe Frage wie oben.
window.document.spiel.treffer.value = zaehler+10;
}funktioniert aber nur beim ersten erhöhen,danach nicht mehr. Kann mir da jemand helfen? Danke!
Was genau funktioniert nicht?
Wenn ich das richtig sehe, willst Du window.document.spiel.treffer.value um 10 erhöhen:
window.document.spiel.treffer.value += 10;
Das sollte schon reichen.
Grüße
Andreas