• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Javascript Calculator

Pikachu

Diablo-Veteran
Registriert
28 Februar 2006
Beiträge
1.092
Hallo alle,
ich habe einen kleinen Javascript-Calculator gebaut und bräucht jetzt mal professionelle Hilfe.

Dort kann ich bis jetzt Werte in Textboxen einlesen, addieren und ausgeben lassen.

Nun fehlt mir noch ein gewisser Feinschliff.

Ich hoffe es schickt mir jemand der mir helfen will eine PM.

Danke. :hy:
 
Frage wäre eventuell ganz interessant

Ok, tut mir Leid.

Das sind gleich mehrere Fragen:





1. Wenn ich die eingelesenen Werte ausgeben, werden sie unter den Textfeldern in einer Zeile angegeben, wie ich aber Schriftgröße, -Farbe und Position der einzelnen Werte veränder weiß ich nicht.
Was auch nicht schlecht wäre, wenn die Werte darunter in Textfeldern ausgegeben werden.

So ungefähr sieht ein teil des Codes aus:

Code:
function print(x)
{
var ausgabefeld = document.getElementById("ausgabebereich");
ausgabefeld.removeChild(ausgabefeld.lastChild);
ausgabefeld.appendChild(document.createTextNode(x));
}

function output()
{
print("Bla1: " + (wert1+wert2+etc) +
       "Bla2: " + (wert3+wert4));


Und dieser Teil in der HTML-Datei:

Code:
<div style="position:absolute; top: 420; left:150;">
<input type="button" value=" Calculate " onClick="input();output();">
<input type="button" value="Reset all" onclick="reset();">
</div>





2. Ich möchte durch mehrere Textfelder Vitalität und Leben addieren. Um das Leben richtig zu berechnen habe ich mir sowas überlegt wie:

"var leben = (eingelesene Vitalitätswerte>>) vitalitybelt + vitalitygloves etc. und dann:*4;

Das wäre jetzt das Beispiel vom Barbar, weil er für jeden Vitapunkt 4 zu Leben bekommt (und ich weiß das funktioniert nur richtig, wenn man die Level des Barbaren noch berechnet).
Leider habe ich schon mehrere Variationen ausprobiert, aber es hat keine klappen wollen.





Und damit man etwas Ahnung hat, ist hier ein Screenshot der HTML-Datei:

unbenannt1v.png


Ich hoffe ich habe alles verständlich beschrieben, wenn nicht dann fragt nach.

:hy:
 
1. http://de.wikipedia.org/wiki/Cascading_Style_Sheets ist dein Freund
2. Ich nehm an, dass die eingelesenen Zahlen Text sind, also musst du sie zu Integern konvertieren. Das macht parseInt(str)
Code:
var str1 = "123";
var str2 = "321";

str1 + str2; // die Strings werden konkatiniert, also zusammengefügt => "123321"

parseInt(str1) + parseInt(str2) // hier erst in Integer/Ganzzahlen umwandeln und dann werden sie addiert => 444
 
Wären nicht fließpunktzahleln besser? Zwar rundet D2 aber nicht immer auf Integer z.b MagicFind

Gut das ist jetzt in deinen Calc nicht drin aber kann man ja einbauen^^
 
Dann ist das sicher gerechtfertigt, aber bis jetzt, da nur Addition und Multiplikation benutzt wird, nicht von Nöten. Immer schön pragmatisch bleiben ;)
 
Soo, danke soweit.

Hab es nun hinbekommen, dass die Ausgaben in einer Textbox darunter ausgegeben werden.

FCR-, FHR- und Resirechnung funktionieren.
Jetzt habe ich ein Problem bei der Lebenberechnung. Ich weiß nicht wie ich es mache, dass wenn ich z.B. die Amazone auswähle und dann dort die Vitalität eintrage, diese mal 3 genommen wird.

So sieht der neue Code aus:

Code:
document.getElementById("vita").value =
parseFloat(document.getElementById("viamulet").value)+
parseFloat(document.getElementById("vibelt").value)+
parseFloat(document.getElementById("vishield").value)+
parseFloat(document.getElementById("vihelmet").value)+
parseFloat(document.getElementById("viarmor").value)+
parseFloat(document.getElementById("viweapon").value)+
parseFloat(document.getElementById("viboots").value)+
parseFloat(document.getElementById("vicharm").value)+20;

document.getElementById("life").value =
parseFloat(document.getElementById("liring").value)+
parseFloat(document.getElementById("liamulet").value)+
parseFloat(document.getElementById("liglove").value)+
parseFloat(document.getElementById("libelt").value)+
parseFloat(document.getElementById("lishield").value)+
parseFloat(document.getElementById("lihelmet").value)+
parseFloat(document.getElementById("liarmor").value)+
parseFloat(document.getElementById("liweapon").value)+
parseFloat(document.getElementById("liboots").value)+
parseFloat(document.getElementById("licharm").value)+50;

Müsste ich nicht irgendwie die Werte von Vita bei dem Leben einfügen und dann mal 3 rechnen? Ich weiß echt nicht wie das funktionieren soll.
 
+3*vita
?

Sinnigerweise den ersten Codeblock durch vita=blablabla+blablablub+... ersetzen

Die 3 in der Zeile durch eine Variable ersetzen und diese mit einer if-Konstruktion aus dem eingestellten Char ermitteln.

Syntax gibts in jedem Tutorial, zu faul zum nachschauen (ist dein Calc). Wenn du diesen Thread als Tutorial missbrauchen willst, bist du eh falsch ;).
 
Danke mfb. So geht es:

Code:
vita=
document.getElementById("vita").value =
parseFloat(document.getElementById("viamulet").value)+
parseFloat(document.getElementById("vibelt").value)+
parseFloat(document.getElementById("vishield").value)+
parseFloat(document.getElementById("vihelmet").value)+
parseFloat(document.getElementById("viarmor").value)+
parseFloat(document.getElementById("viweapon").value)+
parseFloat(document.getElementById("viboots").value)+
parseFloat(document.getElementById("vicharm").value)+20;

document.getElementById("life").value =
parseFloat(document.getElementById("liring").value)+
parseFloat(document.getElementById("liamulet").value)+
parseFloat(document.getElementById("liglove").value)+
parseFloat(document.getElementById("libelt").value)+
parseFloat(document.getElementById("lishield").value)+
parseFloat(document.getElementById("lihelmet").value)+
parseFloat(document.getElementById("liarmor").value)+
parseFloat(document.getElementById("liweapon").value)+
parseFloat(document.getElementById("liboots").value)+
parseFloat(document.getElementById("licharm").value)-10+vita*3;

Aber als Tutorial nutzen? Oo
Bis jetzt hab ich alle alleine hinbekommen... Bis auf den Punkt bei dem du mir geholfen hast.
 
Zurück
Oben