Currency Convertor Using HTML, CSS and JavaScript

Hello wizards, I hope you are doing great. Today in this blog you’ll learn how to create the "Currency Convertor" project using HTML, CSS & JavaScript. 

Preview 

In the above video, you’ve seen the preview of the "Currency Convertor" project and I hope now you are able to create this type of project. If not, I have provided all the HTML CSS, and JavaScript code below. 

Currency Convertor [Source Code] 

To get the following HTML, CSS & JS code for the Currency Convertor project. You need to create three files one is an HTML file, the second one is a CSS file and another one is a JS file. After creating these three files then you can copy-paste the given codes on your document. 

Remember, you’ve to create a file with a .html extension for HTML code, a .css extension for CSS code, and .js for JavaScript code.

You can also download all source code files from the given download button.

HTML
<!DOCTYPE html>
<!-- Coding By CodingNepal - youtube.com/codingnepal -->
<html lang="en" dir="ltr">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Currency Convertor</title>

    <link rel="stylesheet" href="style.css">

    <!-- Font awesome cdn -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
        integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />

</head>

<body>
    <h1>Currency Convertor</h1>
    <div class="container">
        <form action="#">
            <div class="amount">
                <p>Amount</p>
                <input type="text" value="100" placeholder="Enter the amount">
            </div>
            <div class="FromToContainer">
                <div class="from">
                    <p>From :</p>
                    <div class="selectBox">
                        <!-- You can use other countries currency options in given below-->
                        <select>
                            <option value="INR">India (INR)</option>
                            <option value="USD">United States (USD)</option>
                            <option value="AFN">Afghanistan (AFN)</option>
                            <option value="CNY">China (CNY)</option>
                            <option value="ARS">Argentine (ARS)</option>
                        </select>
                    </div>
                </div>
                <div class="to">
                    <p>To :</p>
                    <div class="selectBox">
                        <!-- You can use other countries currency options in given below-->
                        <select>
                            <option value="INR">India (INR)</option>
                            <option value="USD">United States (USD)</option>
                            <option value="AFN">Afghanistan (AFN)</option>
                            <option value="CNY">China (CNY)</option>
                            <option value="ARS">Argentine (ARS)</option>
                        </select>
                    </div>
                </div>
            </div>
            <div class="convertedAmount">Click on "Convert Currency" Button</div>
            <button class="convertBtn">Convert Currency</button>
        </form>
    </div>

    <script src="index.js"></script>

</body>

</html>
CSS
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 100vh;
  background: greenyellow;
}

h1 {
  margin-bottom: 15px;
  font-size: 40px;
  text-transform: capitalize;
  color: black;
  word-spacing: 3px;
}

.container {
  width: 350px;
  padding: 20px;
  border-radius: 10px;
  background: white;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
}

form p {
  font-size: 20px;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 5px;
}

form input {
  font-size: 18px;
  outline: none;
  text-align: center;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border-radius: 5px;
  border: 2px solid black;
}

form input:focus {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

form .FromToContainer {
  display: flex;
  margin: 25px;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  gap: 10px;
}

.FromToContainer .selectBox {
  display: flex;
  width: 330;
  height: 40px;
  align-items: center;
  border-radius: 5px;
  justify-content: center;
  border: 2px solid black;
}

.FromToContainer p {
  text-align: start;
  font-weight: 400;
}

.selectBox select {
  width: 310px;
  font-size: 18px;
  border: none;
  background: none;
  text-align: center;
}

form .convertedAmount {
  font-size: 18px;
  margin: 15px;
  text-align: center;
}

form button {
  width: 100%;
  font-size: 18px;
  height: 50px;
  color: black;
  border: none;
  background: greenyellow;
  border-radius: 5px;
  cursor: pointer;
}

form button:active {
  transform: scale(0.95);
}

form button:hover {
  filter: brightness(1.1);
}
JavaScript
const amountEl = document.querySelector("input");
const fromCurrencyEl = document.querySelector(".from select");
const toCurrencyEl = document.querySelector(".to select");
const convertedAmountEl = document.querySelector(".convertedAmount");
const convertBtnEl = document.querySelector(".convertBtn");

async function convertCurrencyFun(){
    let inputAmount = amountEl.value;

    convertedAmountEl.innerText = "Currency Converting...";

    // The below API is Exchange rate API.
    // This is available at https://www.exchangerate-api.com/
    // After login with your email account. You will get your API key. You that api key in the place of "YOUR-API-KEY".
    let url = `https://v6.exchangerate-api.com/v6/YOUR-API-KEY/latest/${fromCurrencyEl.value}`;

    try{
        const response = await fetch(url);
        const data = await response.json();
        let convertedAmount = data.conversion_rates[toCurrencyEl.value]; 
        let totalConvertedAmount = (inputAmount * convertedAmount).toFixed(2); 
        convertedAmountEl.innerText = `${inputAmount} ${fromCurrencyEl.value} = ${totalConvertedAmount} ${toCurrencyEl.value}`;
    }catch(e){
        convertedAmountEl.innerText = "Oops... Error...!";
    }
}

convertBtnEl.addEventListener("click", () =>{
    convertCurrencyFun();
});
You have to wait 15 seconds.

Generating Download Link...

Post a Comment

Previous Post Next Post