Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Jak spočítat v javascriptu

V noci mi s tím děsně pomohl los, respektive celé to udělal (díky 426x), do tohoto stádia

function change ()
{
var inputA = document.getElementById ("format")
	var inputB = document.getElementById ("format_result")
	var inputC = document.getElementById ("slevy")
	var inputD = document.getElementById ("slevy_result")
	var inputE = document.getElementById ("umisteni")
	var inputF = document.getElementById ("umisteni_result")
	var inputG = document.getElementById ("konecna_bez_dph");
	
	var za_kus = inputA.value - 0;
	var inzeratov = inputC.value - 0;
	var priplatok = inputE.value - 0;
	var cena = inzeratov * za_kus;
	var zlavy = [2, 3, 6, 12];
	var zlava = 0;
	
	while (zlavy.shift() <= inzeratov)
		zlava += 5;

	inputB.value = za_kus; 
	inputD.value = Math.round(cena * zlava/100);
	inputF.value = Math.round(cena * priplatok/100); 
	inputG.value = Math.round(cena * (1 - zlava/100 + priplatok/100));  
}

Má to však jeden háček všechno funguje, jenže u těch slev to při volbě 12ti neposkočí o 5 % u slevy (v zadání), ale o 15, na 30 %.
Napadlo mne, nějak to zozvětvit a větev na těch 30 % udělat samostatně, jenže to neumím zapsat. Mám na mysli něco takového

function change ()
{
  var inputA = document.getElementById ("format")
	var inputB = document.getElementById ("format_result")
	var inputC = document.getElementById ("slevy")
	var inputD = document.getElementById ("slevy_result")
	var inputE = document.getElementById ("umisteni")
	var inputF = document.getElementById ("umisteni_result")
	var inputG = document.getElementById ("konecna_bez_dph");
	
	var za_kus = inputA.value - 0;
	var inzeratu = inputC.value - 0;
	var priplatek = inputE.value - 0;
	var cena = inzeratu * za_kus;
	var slevy = [2, 3, 6, 12];
	var sleva = 0;
	
	if (slevy == "12"){
	while (slevy.shift() <= inzeratu)
		sleva += 30;

	inputB.value = za_kus; 
	inputD.value = Math.round(cena * sleva/100);
	inputF.value = Math.round(cena * priplatek/100); 
	inputG.value = Math.round(cena * (1 - sleva/100 + priplatek/100));  
  }
  
  else {

	
	while (slevy.shift() <= inzeratu)
		sleva += 5;

	inputB.value = za_kus; 
	inputD.value = Math.round(cena * sleva/100);
	inputF.value = Math.round(cena * priplatek/100); 
	inputG.value = Math.round(cena * (1 - sleva/100 + priplatek/100));  
  }
}

Jenže to samozřejmě neumím zapsat. :-/

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny