首頁 > web前端 > css教學 > 主體

建立一個二維碼產生器網站

PHPz
發布: 2024-08-23 14:31:32
原創
962 人瀏覽過

Build a QR Code Generator Website

介紹

各位開發者大家好!我很高興向大家展示我的最新專案:QR 程式碼產生器。該專案是深入研究 JavaScript 的好方法,重點關注如何根據使用者輸入動態產生 QR 碼。無論您是 Web 開發新手還是希望提高 JavaScript 技能,這個 QR 程式碼產生器專案都是學習和創建有用內容的絕佳機會。

項目概況

QR 代碼產生器 是一個基於 Web 的應用程序,允許使用者從任何文字輸入產生 QR 代碼。本專案示範如何建立簡單的互動式使用者介面、整合第三方 API 以及有效處理使用者輸入。

特徵

  • 使用者友善的介面:簡單乾淨的設計,可以輕鬆產生二維碼。
  • 動態二維碼產生:依照使用者提供的文字輸入即時產生二維碼。
  • 響應式設計:確保在各種裝置和螢幕尺寸上獲得一致的體驗。

使用的技術

  • HTML:建立網頁和輸入元素。
  • CSS:設定使用者介面的樣式,確保簡潔且回應靈敏的設計。
  • JavaScript:管理產生 QR 碼和處理使用者互動的邏輯。

專案結構

以下是專案結構的快速瀏覽:

QR-Code-Generator/
├── index.html
├── style.css
└── script.js
登入後複製
  • index.html:包含 QR 程式碼產生器的 HTML 結構。
  • style.css:包含 CSS 樣式以增強應用程式的外觀和回應能力。
  • script.js:管理二維碼產生邏輯和使用者互動。

安裝

要開始該項目,請按照以下步驟操作:

  1. 複製儲存庫

    git clone https://github.com/abhishekgurjar-in/QR-Code-Generator.git
    
    登入後複製
  2. 開啟專案目錄:

    cd QR-Code-Generator
    
    登入後複製
  3. 運行項目:

    • 在網頁瀏覽器中開啟index.html 檔案以開始使用二維碼產生器。

用法

  1. 在網頁瀏覽器中開啟網站
  2. 在輸入欄位中輸入文字即可產生二維碼。
  3. 點選「產生二維碼」按鈕即可查看根據輸入的文字產生的二維碼。
  4. 使用任何二維碼閱讀器掃描二維碼即可查看編碼文字。

程式碼說明

超文本標記語言

index.html 檔案提供了二維碼產生器的基本結構,包括用於產生二維碼的輸入欄位和按鈕。這是一個片段:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>QR Code Generator</title>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js" defer></script>
  </head>
  <body>
    <div class="container">
      <div class="box">
        <section class="upper">
          <h1>QR Code Generator</h1>
          <p>Paste text to create QR Code</p>
        </section>

        <form id="qrForm">
          <input
            id="qrInputText"
            type="text"
            name="qrText"
            placeholder="Enter Text"
          />
          <button id="generateBtn" type="submit">Generate QR Code</button>
        </form>
        <section id="qrContainer" class="qr_container">
          <img id="qrImage" src="./qr.webp" alt="QR Code" />
        </section>
      </div>
    </div>
    <div class="footer">
      <p>Made with ❤️ by Abhishek Gurjar</p>
    </div>
  </body>
</html>
登入後複製

CSS

style.css 檔案設定 QR 碼產生器的樣式,提供現代且使用者友好的佈局。以下是一些關鍵樣式:

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

:root {
  --primary: #47185c;
  --primary-dark: #14001d;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family: "Poppins", sans-serif;
}

body {
  background-color: var(--primary);
}

.container {
  display: grid;
  place-items: center;
  height: 80vh;
}

.box {
  padding: 20px;
  width: 400px;
  background-color: white;
}

.upper h1 {
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
}

form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

form input {
  width: 100%;
  height: 40px;
  padding: 10px 15px;
}

form button {
  width: 100%;
  height: 40px;
  padding: 10px 15px;
  background-color: var(--primary);
  border: none;
  color: white;
  opacity: 0.9;
  transition: 0.3s ease-in;
}

.qr_container {
  border: 1px solid var(--primary);
  display: flex;
  justify-content: center;
  height: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in, height 0.1s ease;
}

.qr_container.show {
  padding: 10px;
  height: 150px;
  opacity: 1;
}

.qr_container img {
  height: 100%;
}

.footer {
  color: white;
  margin: 50px;
  text-align: center;
}
登入後複製

JavaScript

script.js 檔案管理產生 QR 碼和處理使用者互動的邏輯。這是一個片段:

const qrFormEl = document.getElementById("qrForm");
const qrImageEl = document.getElementById("qrImage");
const qrContainerEl = document.getElementById("qrContainer");
const qrInputTextEl = document.getElementById("qrInputText");
const generateBtnEl = document.getElementById("generateBtn");

const renderQRCode = (url) => {
  if (!url) return;
  generateBtnEl.innerText = "Generating QR Code...";
  qrImageEl.src = url;

  qrImageEl.addEventListener("load", () => {
    qrContainerEl.classList.add("show");
    generateBtnEl.innerText = "Generate QR Code";
  });
};

qrFormEl.addEventListener("submit", (event) => {
  event.preventDefault();

  const formData = new FormData(qrFormEl);
  const text = formData.get("qrText");
  const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${text}`;

  renderQRCode(qrCodeUrl);
});

qrInputTextEl.addEventListener("keyup", () => {
  if (!qrInputTextEl.value.trim()) {
    qrContainerEl.classList.remove("show");
  }
});
登入後複製

現場演示

您可以在此處查看二維碼產生器的現場演示。

結論

建立這個 QR 程式碼產生器是一次有趣且具有教育意義的體驗,它幫助我更好地理解 JavaScript 以及如何使用 API 來創建動態 Web 應用程式。我希望這個專案也能激勵您使用 JavaScript 建立一些很酷的東西。快樂編碼!

製作人員

這個專案是我增強 Web 開發技能之旅的一部分,專注於 JavaScript 和使用者互動。

作者

  • 阿布舍克·古賈爾
    • GitHub 簡介

以上是建立一個二維碼產生器網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!