Помогите доделать калькулятор !!! 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> |
Цитата:
|
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 как это написать в функции ? |
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; что удобнее? |
калькулятор валют
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> |
Часовой пояс GMT +3, время: 22:53. |