10.10.2018, 06:26
|
Новичок на форуме
|
|
Регистрация: 10.10.2018
Сообщений: 3
|
|
Помогите доделать калькулятор !!! help
Есть код калькулятора btc/usd, eth/usd итд, нужно добавить функцию подсчета при выборе EUR, GBP из селекта D2
<script language="JavaScript">
var nOutsPer1Inc = 6600/1.000; /*RATE*/
function Incsel(obj) /*select name="D1" RATE*/
{
nOutsPer1Inc = {1 : 6600/1 ,2: 233/1,3: 667/1,4: 277/1}[obj.value]
//alert(nOutsPer1Inc)
if (document.all.am == null)
return;
var incSum = document.all.am.value.replace(",",".");
if (isNaN(incSum))
incSum = "0";
incSum = Math.round(incSum * nIncPower) / nIncPower;
var v = Math.floor((incSum * nOutsPer1Inc - nOutAddon) * nOutPower +
1.1 / nOutPower) / nOutPower;
if (v < 0)
v = 0;
document.all.TbOutSum.value = v;
}
var nIncPower = Math.pow(10,4);
var nOutPower = Math.pow(10,2);
var nOutAddon = 0.00; /*FEES*/
function Inc2Out(bForce)
{
if (document.all.am == null)
return;
var incSum = document.all.am.value.replace(",",".");
if (isNaN(incSum))
incSum = "0";
incSum = Math.round(incSum * nIncPower) / nIncPower;
var v = Math.floor((incSum * nOutsPer1Inc - nOutAddon) * nOutPower +
0.1 / nOutPower) / nOutPower;
if (v < 0)
v = 0;
document.all.TbOutSum.value = v;
if (bForce)
Out2Inc();
}
function Out2Inc(bForce)
{
if (document.all.TbOutSum == null)
return;
var outSum = document.all.TbOutSum.value.replace(",",".");
if (isNaN(outSum))
outSum = "0";
outSum = Math.round(outSum * nOutPower) / nOutPower;
document.all.am.value =
Math.ceil((outSum + nOutAddon) / nOutsPer1Inc * nIncPower -
0.1 / nIncPower) / nIncPower;
if (bForce)
Inc2Out();
}
</script>
<input name="am" onchange="Inc2Out()" onkeyup="Inc2Out()" placeholder="1" >
<select name="D1" onchange="Incsel(this)" onkeyup="Incsel(this)" onkeydown="Incsel(this)" onclick="Incsel(this)" >
<option selected value="1">BTC</option>
<option value="2">ETH</option>
<option value="3">BCH</option>
<option value="4">LTC</option>
</select>
<input name="TbOutSum" id="TbOutSum" onchange="Out2Inc()" onkeyup="Out2Inc()">
<select name="D2" >
<option selected value="1">USD</option>
<option value="2">EUR</option>
<option value="3">GBP</option>
</select>
|
|
10.10.2018, 07:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
Сообщение от Jamesx
|
{1 : 6600/1 ,2: 233/1,3: 667/1,4: 277/1}
|
такоеже необходимо для eur и gbp
|
|
10.10.2018, 10:11
|
Новичок на форуме
|
|
Регистрация: 10.10.2018
Сообщений: 3
|
|
12 Значений селектов
SEL 1 + SEL2 1, SEL 1 + SEL2 2, SEL 1+ SEL3 3
SEL 2 + SEL2 1, SEL 2 + SEL2 2, SEL 2+ SEL3 3
SEL 3 + SEL2 1, SEL 3 + SEL2 2, SEL 3+ SEL3 3
SEL 4 + SEL2 1, SEL 4 + SEL2 2, SEL 4+ SEL3 3
как это написать в функции ?
|
|
10.10.2018, 13:13
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
Jamesx,
смотрите пост №2
var USD = {1 : 6600/1 ,2: 233/1,3: 667/1,4: 277/1};
var EUR = {1 : ... ,2: ... ,3: ...,4: ...}; или цена в $ var EUR = 1.33;
var GBP = {1 : ... ,2: ... ,3: ...,4: ...};var GBP = .88;
что удобнее?
|
|
10.10.2018, 14:05
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
калькулятор валют
Jamesx,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
var USD = {1 : 6600/1 ,2: 233/1,3: 667/1,4: 277/1},
EUR = 1.33,
GBP = .88,
rate = { 1 : 1, 2 : EUR, 3 : GBP},
input = document.querySelector('[name="am"]'),
out = document.querySelector('[name="TbOutSum"]'),
selFrom = document.querySelector('[name="D1"]'),
selTo = document.querySelector('[name="D2"]'),
inputToOut = true,
num = 0;
function fn()
{
if(inputToOut) {
num = input.value.trim();
num = num.replace(",",".").replace(/[^\d.]/,"");
num = +num || 0;
num *= USD[selFrom.value];
num *= rate[selTo.value];
out.value = num.toFixed(2);
}
else {
num = out.value.trim();
num = num.replace(",",".").replace(/[^\d.]/,"");
num = +num || 0;
num /= rate[selTo.value];
num /= USD[selFrom.value];
input.value = num.toFixed(2);
}
}
input.addEventListener('input',function() {inputToOut = true; fn()});
out.addEventListener('input',function() {inputToOut = false; fn()});
selFrom.addEventListener('change', fn);
selTo.addEventListener('change', fn);
});
</script>
</head>
<body>
<input name="am" placeholder="1" >
<select name="D1" >
<option selected value="1">BTC</option>
<option value="2">ETH</option>
<option value="3">BCH</option>
<option value="4">LTC</option>
</select>
<input name="TbOutSum" id="TbOutSum" >
<select name="D2" >
<option selected value="1">USD</option>
<option value="2">EUR</option>
<option value="3">GBP</option>
</select>
</body>
</html>
|
|
|
|