JavaScript Preis Calculator?
document.addEventListener('DOMContentLoaded', function() {
const slider = document.getElementById('diskspace');
const hiddenValue = document.getElementById('initialDiskspace');
const demo = document.getElementById('demo');
const selectedValue = document.getElementById('diskspaceOutput');
const selectedPrice = document.getElementById('priceOutput');
const initialDiskspaceValue = parseInt(new URLSearchParams(window.location.search).get('value')) || 0;
// Setze den initialen Speicherplatz
hiddenValue.value = initialDiskspaceValue;
// Variable für den aktuellen Preis
let currentPrice = 10; // Startpreis
// Funktion zur Berechnung des Preises
const calculatePrice = (value) => {
// Grundpreise
const basePrice = 10; // Grundpreis für den Server
const pricePerGB = 1; // Preis pro GB Speicher
const pricePerCPU = 1; // Preis pro CPU-Kern
// Eingabewerte holen
const diskspace = parseInt(value); // Speicherplatz in GB
const cpuCores = parseInt(document.getElementById('cpu').value); // Anzahl der CPU-Kerne
const os = document.getElementById('os').value; // Betriebssystem
// Betriebssystem-Aufschläge (hier Beispiel, wie man unterschiedliche Preise je nach Betriebssystem anwenden könnte)
let osPrice = 0;
if (os === 'windows') {
osPrice = 5; // Beispiel: Windows ist teurer
} else if (os === 'macos') {
osPrice = 10; // Beispiel: macOS ist noch teurer
}
// Berechne den Gesamtpreis
const totalPrice = basePrice + (diskspace * pricePerGB) + (cpuCores * pricePerCPU) + osPrice;
// Aktualisiere den angezeigten Preis
selectedPrice.innerText = `Gesamtpreis: ${totalPrice.toFixed(2)} €`;
return totalPrice;
};
// Setze den initialen Wert und Preis
selectedValue.innerText = slider.value;
calculatePrice(parseInt(slider.value));
// Event Listener für Änderungen am Slider
slider.oninput = function() {
selectedValue.innerText = this.value;
calculatePrice(parseInt(this.value));
};
// Formularabsenden mit verstecktem Wert und Preis
const form = document.querySelector('form');
form.addEventListener('submit', function(event) {
event.preventDefault();
hiddenValue.value = slider.value;
this.submit();
});
});
Hey das ist der Code uns er funktioniet nicht also nicht ganz richtig. Die rechnung ist falsch undzwar klappt nicht das 1GB Festplatte = 1€, 1GB Ram = 1€ und 1 Kern = 1€. und das dann einfach addiert wird das funktioniert nicht kann wer helfen? Es ust eine Website
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmiersprache, Informatik
Du parst "slider.value" mehrfach. Einmal vor Funktionsübergabe, einmal danach.
Davon ab kann dein preis ja gar nicht 3€ sein, wenn du immer den "basePrice" addierst. Zudem hast du noch einen "osprice".
Was RAM angeht, kommt der in deinem Code garnicht vor.