-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
41 lines (32 loc) · 1.23 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const currencyOne = document.querySelector("#currency-one");
const amountOne = document.querySelector(".amount-one");
const currencyTwo = document.querySelector("#currency-two");
const amountTwo = document.querySelector(".amount-two");
const swapBtn = document.querySelector(".swap");
const rateInfo = document.querySelector(".rate-info");
const calculate = () => {
fetch(
`https://api.ratesapi.io/api/latest?base=${currencyOne.value}&symbols=${currencyTwo.value}`
)
.then((res) => res.json())
.then((data) => {
const currency1 = currencyOne.value;
const currency2 = currencyTwo.value;
const rate = data.rates[currency2];
rateInfo.textContent = `1 ${currency1} = ${rate.toFixed(
4
)} ${currency2}`;
amountTwo.value = (amountOne.value * rate).toFixed(2);
});
};
const swap = () => {
const oldValue = currencyOne.value;
currencyOne.value = currencyTwo.value;
currencyTwo.value = oldValue;
calculate();
};
currencyOne.addEventListener("change", calculate);
currencyTwo.addEventListener("change", calculate);
amountOne.addEventListener("input", calculate);
swapBtn.addEventListener("click", swap);
calculate();