Ich bin in Mathe nicht erstaunlich, ich muss zugeben :)JavaScript-Volumen-Rechner von Breite, Länge und Tiefe
Im Grunde muss ich einen Rechner erstellen, nimmt:
1. width
2. length
3. depth
Aus diesen Eingaben, Ich muss die Antwort in m³ anzeigen.
es ein wenig komplizierter zu machen, kann ein Benutzer zwischen 5 Dropdown-Optionen wählen:
1. Centimeter
2. Inches
3. Feett
4. Yards
5. Meters
Zum Beispiel könnte ein Benutzer etwas wie tun:
width = 10 centimeters
length = 7 foot
depth = 2 inches
So war mein Gedanke um alle Benutzereingaben in Millimeter umzuwandeln, damit sie denselben Typ haben. Die Formel für ein Volumen zu finden ist:
length * height * width
So Figur, die ich, wenn ich dies tun in Millimeter, kann ich es dann in Meter zurück konvertieren. Allerdings habe ich Probleme und bekomme nicht die richtigen Antworten aus meinem Code. Die Logik muss völlig falsch sein (Wie ich schon sagte meine Mathe nicht erstaunlich ist)
Hier ist mein Code:
<tr>
<td>Width</td>
<td><input type="text" id="width"/></td>
<td>
<select id="width-type">
<option value="centimeter">Centimeter</option>
<option value="inches">Inches</option>
<option value="feet">Feet</option>
<option value="yards">Yards</option>
<option value="meters">Meters</option>
</select>
</td>
</tr>
<tr>
<td>Length</td>
<td><input type="text" id="length"/></td>
<td>
<select id="length-type">
<option value="centimeter">Centimeter</option>
<option value="inches">Inches</option>
<option value="feet">Feet</option>
<option value="yards">Yards</option>
<option value="meters">Meters</option>
</select>
</td>
</tr>
<tr>
<td>Depth</td>
<td><input type="text" id="depth"/></td>
<td>
<select id="depth-type">
<option value="centimeter">Centimeter</option>
<option value="inches">Inches</option>
<option value="feet">Feet</option>
<option value="yards">Yards</option>
<option value="meters">Meters</option>
</select>
</td>
</tr>
<tr>
<td>
<button id="calculate">Calculate</button>
</td>
</tr>
<script>
$('#calculate').click(function(){
//These are the amount of mm in each drop down menu type
var array = new Array();
array['centimeter'] = '10';
array['inches'] = '25.4';
array['feet'] = '304.8';
array['yards'] = '914.4';
array['meters'] = '1000';
//Find the width in mm
var widthVal = $('#width').val();
var widthType = $('#width-type').val();
var width = widthVal * array[widthType];
//Find the length in mm
var lengthVal = $('#length').val();
var lengthType = $('#length-type').val();
var length = lengthVal * array[lengthType];
//Find the depth in mm
var depthVal = $('#depth').val();
var depthType = $('#depth-type').val();
var depth = depthVal * array[depthType];
//Find the total volume in mm
var volumeInMillimeters = length * depth * width;
//try to convert it back to meters
var volume = volumeInMillimeters/1000;
alert(volumeInMillimeters);
alert(volume);
});
</script>
Auch hier ist eine js Geige, damit Sie es sehen arbeiten - https://jsfiddle.net/xk4r8hm2/1/
Wenn jemand mir helfen kann, dies zu tun, nicht nach einer Antwort suchen, sondern die Erklärung dafür bitte.
Danke!
Sie haben auf der Startseite von jsfiddle verlinkt. –
aha, mein Schlechter :). Habe es jetzt geändert – virepo