久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 如何使用JavaScript快速構(gòu)建一個二維碼生成器

如何使用JavaScript快速構(gòu)建一個二維碼生成器

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-09-15 10:16:50 1663208210

  為了適應(yīng)社會的發(fā)展,也為了方便大家可以快速而便捷的獲取信息,二維碼的應(yīng)用一直是非常受歡迎的方式之一。

  二維碼在今天的生活中,使用場景較多,像我們使用二維碼進行無現(xiàn)金支付、交易和登錄等。

  在今天的內(nèi)容中,我將分享一個快速構(gòu)建二維碼生成器的案例,它只需要我們熟悉 HTML5、CSS3 和 JavaScript 基礎(chǔ)知識的人就可以完成這個二維碼的創(chuàng)建。

  在今天的文章,我不講述它們的基礎(chǔ)知識內(nèi)容,但是我們會提供實現(xiàn)的源碼。

  現(xiàn)在,讓我們開始吧。

  首先,我們需要使用 HTML和 CSS 創(chuàng)建 UI。

  HTML示例代碼如下:

<!DOCTYPE html>

<html lang="en">

<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">

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

    <title>QR CODE GENERATOR</title>

</head>

<body>

    <div class="wrapper">

        <header>

            <h1>QR Code Generator</h1>

            <p>Paste URL to generate a QR code</p>

        </header>

        <div class="form">

            <input type="text" placeholder="Enter URL">

            <button>Generate QR Code</button>

        </div>

        <div class="qr-code">

            <img src="" alt="">

        </div>

    </div>

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

</body>

</html>

  CSS示例代碼如下:

*{

    margin: 0;

    padding: 0;

    box-sizing: border-box;

    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;

}

body{

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 100vh;

    background: rgba(49, 138, 115, 0.336);

}

.wrapper

{

    background: #fff;

    height: 260px;

    max-width: 410px;

    padding: 16px 25px;

    border-radius: 7px;

    transition: height 0.2s ease;

}

.wrapper.active

{

    height: 530px;

}

header h1{

    font-size: 21px;

    font-weight: 500;

}

header p{

    margin-top: 5px;

    color: #474747;

    font-size: 16px;

}

.wrapper .form{

    margin: 20px 0 30px;

}

.form :where(input, button){

    width: 100%;

    height: 55px;

    border: none;

    outline: none;

    border-radius: 5px;

}

.form input{

    font-size: 18px;

    padding: 0 17px;

    border:1px solid #999 ;

}

.form button{

    font-size: 17px;

    color: #fff;

    margin-top: 20px;

    background: #474747;

    cursor: pointer;

}

.wrapper .qr-code{

    display: flex;

    opacity: 0;

    pointer-events: none;

    padding: 33px 0;

    align-items: center;

    justify-content: center;

    border: 1px solid #ccc;

    border-radius: 5px;

}

.wrapper .qr-code img{

   width: 200px;

   height: auto;

}

.wrapper.active .qr-code

{

    opacity: 1;

    pointer-events: auto;

    transition: opacity 0.5s 0.5s ease;

}

  然后,我們就可以得到一個UI效果如下:

如何使用 JavaScript 快速構(gòu)建一個二維碼生成器

  接著,我們開始JavaScript。

  通過使用二維碼 API,可以生成API和解碼/讀取 QR 碼,只需調(diào)用 URL, https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=Chairman 即可獲取內(nèi)容為“Chairman”的二維碼。您可以將 URL 中的“Chairman”替換為新的二維碼。

  你還可以通過https://goqr.me/api/地址找到有關(guān) API 的更多信息。

  現(xiàn)在,我們來看一下JavaScript 示例代碼。

const wrapper = document.querySelector(".wrapper"),//gets the wrapper css and stores it in the wrapper variable

qrInput=wrapper.querySelector(".form input"),//gets the form input css and stores it in the qrInput variable

qrImg=wrapper.querySelector(".qr-code img"),//gets the qr-code img and stores it in the qrImg variable

generateBtn=wrapper.querySelector(".form button");//gets the form button css and stores it in the henerateBtn variable

 

/* This block of code executes when the user clicks on the generate button after entering a value(i.e a valid url or even a text) */

generateBtn.addEventListener("click",()=>{

    let qrValue = qrInput.value;

    if(!qrValue) return;

    generateBtn.innerText= "Generating QR Code....";

    qrImg.src = `https://api.qrserver.com/v1/create-qr-code/?size=170x170&data=${qrValue}`;

    qrImg.addEventListener("load", ()=>{

        wrapper.classList.add("active");

        generateBtn.innerText= "Generate QR Code";

    })

});


qrInput.addEventListener("keyup", ()=>{

    if (!qrInput.value) {

        wrapper.classList.remove("active");

    }

})

  于是,我們就得到了二維碼。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖店入駐收費多少?開抖店費用是多少?

如果要開通抖音小店,需要先把抖音賬號開通商品櫥窗功能。入駐之后,可以選擇頭條賬號、抖音賬號、火山賬號任一類型注冊或登錄。那開個抖店要多...詳情>>

2023-09-19 07:50:26
想做直播帶貨的貨源哪里來?怎么找貨源?

現(xiàn)如今直播推廣的方式是非?;鸬模兄浅6嗟馁u家都是利用直播推廣店鋪產(chǎn)品,效果也是非常不錯。但很多賣家想要了解現(xiàn)在直播帶貨的話什么產(chǎn)品...詳情>>

2023-09-19 07:47:16
適合三農(nóng)領(lǐng)域的名字?有何技巧?

現(xiàn)在在抖音上很多博主會選擇直播來賺取更多的流量以及利潤,直播間的東西也有很多讓消費者信任并且喜歡的,而且隨著越來越多人直播,很多農(nóng)產(chǎn)品...詳情>>

2023-09-19 07:06:05
抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

抖店服務(wù)市場服務(wù)商發(fā)布違禁信息如何處理?情節(jié)嚴重程度判定原則:違規(guī)嚴重等級主要通過服務(wù)商違規(guī)次數(shù)、造成后果的嚴重程度、獲利或?qū)е聯(lián)p失的...詳情>>

2023-09-19 06:59:55
“泛垂直起號”可能是2023年最高效的起號方式

這可能是明年最好用的旗號方式了,今天教大家一個很野,但是可以讓你三天漲1000粉的偏方。去年前年啊,每個人都教你,誰知七號對著自己的產(chǎn)品拍...詳情>>

2023-09-19 06:37:38
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)