首頁 >web前端 >css教學 >建立一個二維碼產生器網站

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

PHPz
PHPz原創
2024-08-23 14:31:321197瀏覽

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 檔案提供了二維碼產生器的基本結構,包括用於產生二維碼的輸入欄位和按鈕。這是一個片段:

8b05045a5be5764f313ed5b9168a17e6
49099650ebdc5f3125501fa170048923
  93f0f5c25f18dab9d176bd4f6de5d30e
    7c8d9f814bcad6a1d7abe4eda5f773e5
    26faf3d1af674280d03ba217d87e9421
    b2386ffb911b14667cb8f0f91ea547a7QR Code Generator6e916e0f7d1e588d4f442bf645aedb2f
    af75c476cdb7e6c074ca6da9b40841de
    90392ec4442ad9ff612213ec639da4832cacc6d41bbb37262a98f745aa00fbf0
  9c3bca370b5104690d9ef395f2c5f8d1
  6c04bd5ca3fcae76e30b72ad730ca86d
    4883ec0eb33c31828b7c767c806e14c7
      8f9e4409b06fde1ff1d3a80f075ca0ed
        ae3978a23ba5cac816877cfe5cac86ec
          4a249f0d628e2318394fd9b75b4636b1QR Code Generator473f0a7621bec819994bb5020d29372a
          e388a4556c0f65e1904146cc1a846beePaste text to create QR Code94b3e26ee717c64999d7867364b1b4a3
        4d7ab0de9a42de71c682b0860bad1410

        29e7d50c7ce157315e3900dfb0a4e328
          306e6e849fa473d073ec3b364ee18ebd
          01dc540c80e3b84203baf3b36f95a497Generate QR Code65281c5ac262bf6d81768915a4a77ac0
        f5a47148e367a6035fd7a2faa965022e
        28803f9c269550d42ecee4b94492a2e0
          d7182983f39e1ed4f55567871920d692
        4d7ab0de9a42de71c682b0860bad1410
      16b28748ea4df4d9c2150843fecfba68
    16b28748ea4df4d9c2150843fecfba68
    ffd6ba4147bda351239915f463e46e38
      e388a4556c0f65e1904146cc1a846beeMade with ❤️ by Abhishek Gurjar94b3e26ee717c64999d7867364b1b4a3
    16b28748ea4df4d9c2150843fecfba68
  36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn