Close Menu
TechTimes VietnamTechTimes Vietnam
  • Tin tức
    • Máy tính
    • Di động
    • Khoa học
    • Ứng dụng
    • Bảo mật
    • Điện tử tiêu dùng
    • Ô tô – Xe máy
    • Doanh nghiệp
      • PR Newswire
      • Media Outreach
      • GlobeNewswire
  • Đánh giá
  • Đời sống số
  • Thủ thuật
    • Bảo mật
    • Di động
    • Ứng dụng
    • Máy tính
    • Điện tử tiêu dùng
    • Máy ảnh
  • Khoa học

Đăng ký bản tin

Cập nhật thông tin, đánh giá, bình luận... trong hộp thư email.

Facebook X (Twitter) Instagram YouTube LinkedIn TikTok RSS
Facebook X (Twitter) TikTok LinkedIn RSS
TechTimes VietnamTechTimes Vietnam
  • Tin tức
    1. Máy tính
    2. Di động
    3. Khoa học
    4. Ứng dụng
    5. Bảo mật
    6. Điện tử tiêu dùng
    7. Ô tô – Xe máy
    8. Doanh nghiệp
    9. PR Newswire
    10. Media Outreach
    11. GlobeNewswire
    12. Xem tất cả

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026

    ASUS Zenbook DUO 2026 ra mắt: Laptop AI hai màn hình tiếp tục được nâng cấp mạnh mẽ hơn

    26/05/2026

    MacBook Ultra có thể xuất hiện với chip M6 cùng loạt nâng cấp lớn nhất của Apple trong nhiều năm

    26/05/2026

    COMPUTEX 2026: COLORFUL hé lộ không gian trải nghiệm công nghệ gaming, laptop, phần cứng PC mới

    26/05/2026

    Giới trẻ hào hứng trải nghiệm sớm Xiaomi 17T Series tại Di Động Việt, ưu đãi lên đến 5,5 triệu đồng

    31/05/2026

    Xiaomi ra mắt Watch S5 và mở rộng hệ sinh thái AIoT tại Việt Nam với loạt thiết bị thông minh mới

    30/05/2026

    Zalo mở rộng tính năng AI hỗ trợ người khuyết tật và người cao tuổi tiếp cận công nghệ

    30/05/2026

    Xiaomi 17T Series ra mắt tại Việt Nam với camera Leica 5x và pin 7.000mAh, giá từ 20,09 triệu đồng

    29/05/2026

    Nghiên cứu mới từ Virginia Tech phát hiện tế bào ung thư kích thước nhỏ hơn có thể nguy hiểm hơn

    26/05/2026

    Hoạt động khám phá không gian đang thúc đẩy công nghệ và đổi mới khoa học như thế nào?

    19/05/2026

    Nghiên cứu lớn nhất về quét não phát hiện dấu hiệu thiếu choline ở người mắc rối loạn lo âu

    17/05/2026

    Starlink năm 2026: Internet vệ tinh tiệm cận cáp quang, giảm độ trễ, có thể phủ sóng gần toàn cầu

    14/04/2026

    Zalo mở rộng tính năng AI hỗ trợ người khuyết tật và người cao tuổi tiếp cận công nghệ

    30/05/2026

    Google Gemini Omni Flash mở ra xu hướng chỉnh sửa video bằng trí tuệ nhân tạo AI bằng giọng nói

    29/05/2026

    Microchip ra mắt mô-đun nguồn SiC 3,3 kV cho máy biến áp thể rắn trong trung tâm dữ liệu AI

    27/05/2026

    Zalo vượt mốc 80 triệu người dùng hàng tháng, tiếp tục mở rộng hệ sinh thái AI và đời sống số

    26/05/2026

    WordPress 7.0 ra mắt hạ tầng AI mới, cảnh báo nguy cơ đánh cắp khóa API xuất hiện ngay ngày đầu

    23/05/2026

    Nghiên cứu về Claude Code hé lộ “vũ khí bí mật” của AI agent không nằm ở mô hình trí tuệ nhân tạo

    22/05/2026

    MoMo: Trí tuệ nhân tạo AI không chỉ chặn giao dịch lừa đảo mà còn giúp người dùng “dừng lại đúng lúc”

    14/05/2026

    Website giả mạo Claude AI phát tán mã độc Beagle mới nhắm vào người dùng Windows

    08/05/2026

    Haier mở rộng hệ sinh thái gia dụng tại Việt Nam với tủ lạnh Horizon và TV QD-MiniLED thế hệ mới

    30/05/2026

    Dreame H16 Pro TriForce với 3 chức năng làm sạch chính thức ra mắt tại Việt Nam, giá 20 triệu đồng

    28/05/2026

    Dreame bắt tay Cristiano Ronaldo, mở rộng tham vọng dẫn đầu thị trường nhà thông minh toàn cầu

    26/05/2026

    Samsung Vision AI 2026 đưa AI TV thành trung tâm giải trí và kết nối thông minh trong gia đình

    22/05/2026

    VinFast ra mắt nhận diện thương hiệu mới cho dòng ô tô điện chuyên kinh doanh dịch vụ Green

    26/05/2026

    Dat Bike ra mắt ERA: Xe điện gia đình đi 200km, sạc nhanh hơn 2 giờ, giá từ 29,9 triệu đồng

    23/05/2026

    Vespa kỷ niệm 80 năm tại Việt Nam với nhiều hoạt động và ra mắt bộ sưu tập đặc biệt mang dấu ấn nước Ý

    16/05/2026

    Rolls-Royce ra mắt Black Badge Cullinan by Cyril Kongo: Khi nghệ thuật graffiti bước vào thế giới siêu sang

    15/05/2026

    NIC Việt Nam góp mặt tại GITEX ASIA 2025 – Kết nối hệ sinh thái công nghệ châu Á

    17/04/2025

    VinBrain mở rộng hợp tác với Medlatec và Vikomed

    18/09/2024

    Công bố sự kiện xúc tiến giao thương MEGA US EXPO 2024

    11/07/2024

    Đại học Monash tổ chức Techfest Quốc tế 2023 tại Úc

    24/09/2023

    WALOVI ra mắt phiên bản lon WALOVI Việt Nam, mở rộng hiện diện tại Đông Nam Á thông qua hoạt động địa phương hoá

    27/05/2026

    Một liên minh quyền lực: Dreame Technology bổ nhiệm Cristiano Ronaldo làm đại sứ toàn cầu mới

    27/05/2026

    AGIBOT giới thiệu robot hình người tại Hội nghị Thượng đỉnh Quốc gia số GSMA Hà Nội 2026

    26/05/2026

    15 năm theo đuổi đổi mới sáng tạo đỉnh cao: Từ pin sạc dự phòng đến chip AI THUS™ độc quyền

    26/05/2026

    Kỷ niệm 40 năm thành lập, Công ty ASEAN Cableship (Singapore) chính thức ra mắt logo mới

    26/05/2026

    CoWorkSpace mở văn phòng làm việc chung mới tại 6 Raffles Quay, trung tâm Singapore

    26/05/2026

    TCMA hợp tác với Đại học Chulalongkorn và đối tác Canada để thử nghiệm công nghệ thu giữ carbon

    25/05/2026

    15 năm qua, 3E Accounting đã phục vụ hơn 10.000 doanh nghiệp, có mạng lưới tại hơn 110 thị trường

    25/05/2026

    COMPUTEX 2026 nóng trước giờ khai mạc với NVIDIA N1X, Intel Arc G3 và Snapdragon C đồng loạt xuất hiện

    31/05/2026

    Giới trẻ hào hứng trải nghiệm sớm Xiaomi 17T Series tại Di Động Việt, ưu đãi lên đến 5,5 triệu đồng

    31/05/2026

    Hành trình Sound Healing xuyên Việt đầu tiên kết nối cộng đồng chữa lành và lan tỏa giá trị sống tích cực

    30/05/2026

    HONOR tăng tốc toàn cầu trong quý I/2026, lập nhiều kỷ lục tại các thị trường trọng điểm

    30/05/2026

    COMPUTEX 2026 nóng trước giờ khai mạc với NVIDIA N1X, Intel Arc G3 và Snapdragon C đồng loạt xuất hiện

    31/05/2026

    Giới trẻ hào hứng trải nghiệm sớm Xiaomi 17T Series tại Di Động Việt, ưu đãi lên đến 5,5 triệu đồng

    31/05/2026

    HONOR tăng tốc toàn cầu trong quý I/2026, lập nhiều kỷ lục tại các thị trường trọng điểm

    30/05/2026

    Haier mở rộng hệ sinh thái gia dụng tại Việt Nam với tủ lạnh Horizon và TV QD-MiniLED thế hệ mới

    30/05/2026
  • Đánh giá

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026
    9.0

    Corsair VANGUARD AIR 99 Wireless: Bàn phím gaming cao cấp cho cả chơi game lẫn sáng tạo nội dung

    19/05/2026
    9.7

    Đánh giá OPPO Find X9s: Khi smartphone nhỏ gọn mang tham vọng thay thế máy ảnh chuyên nghiệp

    09/05/2026
    9.5

    Đánh giá realme P4 Power 5G: Pin 10.001 mAh không chỉ là con số, mà là trải nghiệm thay đổi cách dùng smartphone

    09/04/2026
    9.4

    Đánh giá EPSON EcoTank M2050: Máy in – scan – copy trắng đen tiết kiệm, bền bỉ cho văn phòng hiện đại

    05/04/2026
  • Đời sống số

    COMPUTEX 2026 nóng trước giờ khai mạc với NVIDIA N1X, Intel Arc G3 và Snapdragon C đồng loạt xuất hiện

    31/05/2026

    Giới trẻ hào hứng trải nghiệm sớm Xiaomi 17T Series tại Di Động Việt, ưu đãi lên đến 5,5 triệu đồng

    31/05/2026

    HONOR tăng tốc toàn cầu trong quý I/2026, lập nhiều kỷ lục tại các thị trường trọng điểm

    30/05/2026

    Haier mở rộng hệ sinh thái gia dụng tại Việt Nam với tủ lạnh Horizon và TV QD-MiniLED thế hệ mới

    30/05/2026

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026
  • Thủ thuật
    1. Bảo mật
    2. Di động
    3. Ứng dụng
    4. Máy tính
    5. Điện tử tiêu dùng
    6. Máy ảnh
    7. Xem tất cả

    WordPress 7.0 ra mắt hạ tầng AI mới, cảnh báo nguy cơ đánh cắp khóa API xuất hiện ngay ngày đầu

    23/05/2026

    Nghiên cứu về Claude Code hé lộ “vũ khí bí mật” của AI agent không nằm ở mô hình trí tuệ nhân tạo

    22/05/2026

    MoMo: Trí tuệ nhân tạo AI không chỉ chặn giao dịch lừa đảo mà còn giúp người dùng “dừng lại đúng lúc”

    14/05/2026

    Website giả mạo Claude AI phát tán mã độc Beagle mới nhắm vào người dùng Windows

    08/05/2026

    Giới trẻ hào hứng trải nghiệm sớm Xiaomi 17T Series tại Di Động Việt, ưu đãi lên đến 5,5 triệu đồng

    31/05/2026

    Xiaomi ra mắt Watch S5 và mở rộng hệ sinh thái AIoT tại Việt Nam với loạt thiết bị thông minh mới

    30/05/2026

    Zalo mở rộng tính năng AI hỗ trợ người khuyết tật và người cao tuổi tiếp cận công nghệ

    30/05/2026

    Xiaomi 17T Series ra mắt tại Việt Nam với camera Leica 5x và pin 7.000mAh, giá từ 20,09 triệu đồng

    29/05/2026

    Zalo mở rộng tính năng AI hỗ trợ người khuyết tật và người cao tuổi tiếp cận công nghệ

    30/05/2026

    Google Gemini Omni Flash mở ra xu hướng chỉnh sửa video bằng trí tuệ nhân tạo AI bằng giọng nói

    29/05/2026

    Microchip ra mắt mô-đun nguồn SiC 3,3 kV cho máy biến áp thể rắn trong trung tâm dữ liệu AI

    27/05/2026

    Zalo vượt mốc 80 triệu người dùng hàng tháng, tiếp tục mở rộng hệ sinh thái AI và đời sống số

    26/05/2026

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026

    ASUS Zenbook DUO 2026 ra mắt: Laptop AI hai màn hình tiếp tục được nâng cấp mạnh mẽ hơn

    26/05/2026

    MacBook Ultra có thể xuất hiện với chip M6 cùng loạt nâng cấp lớn nhất của Apple trong nhiều năm

    26/05/2026

    COMPUTEX 2026: COLORFUL hé lộ không gian trải nghiệm công nghệ gaming, laptop, phần cứng PC mới

    26/05/2026

    Haier mở rộng hệ sinh thái gia dụng tại Việt Nam với tủ lạnh Horizon và TV QD-MiniLED thế hệ mới

    30/05/2026

    Dreame H16 Pro TriForce với 3 chức năng làm sạch chính thức ra mắt tại Việt Nam, giá 20 triệu đồng

    28/05/2026

    Dreame bắt tay Cristiano Ronaldo, mở rộng tham vọng dẫn đầu thị trường nhà thông minh toàn cầu

    26/05/2026

    Samsung Vision AI 2026 đưa AI TV thành trung tâm giải trí và kết nối thông minh trong gia đình

    22/05/2026

    Sony ALPHA 7R VI có giá 114 triệu đồng: Máy ảnh full-frame 67MP kết hợp tốc độ và độ phân giải vượt trội

    15/05/2026

    Canon ra mắt EOS R6 V giá 56,99 triệu đồng và ống kính Power Zoom RF20-50mm F4 L IS USM PZ tại Việt Nam

    14/05/2026

    Sony giới thiệu Alpha 7 V: Định nghĩa lại chuẩn máy ảnh Hybrid Full-frame với sức mạnh AI thế hệ mới

    09/12/2025

    Canon giới thiệu EOS R6 Mark III và ống kính RF 45mm f/1.2 STM – nâng tầm nhiếp ảnh và quay phim

    06/11/2025

    Corsair iCUE LINK 3500X RGB & NAUTILUS 360 RS ARGB White: Combo build PC trắng đẹp, mát và dễ chơi

    30/05/2026

    Samsung mở Quick Share kết nối iPhone trên dòng Galaxy S26, phá vỡ rào cản chia sẻ file

    23/03/2026

    NVIDIA giới thiệu cách tối ưu GPU cho AI bằng cách kết hợp NVIDIA Run:ai và NVIDIA NIM

    06/03/2026

    MacBook Neo vs MacBook Air đời cũ: Nên mua hay chọn thế nào để có hiệu năng và hiệu quả tốt hơn?

    06/03/2026
  • Khoa học
TechTimes VietnamTechTimes Vietnam
Cách xây dựng trình tạo văn bản Lorem Ipsum bằng JavaScript và Vite

Cách xây dựng trình tạo văn bản Lorem Ipsum bằng JavaScript và Vite

24/07/2023Media Outreach9 phút để đọc

Lorem ipsum là văn bản mà các nhà phát triển và nhà thiết kế trên khắp thế giới sử dụng làm trình giữ chỗ. Nếu bạn tương tác với nhiều nguyên mẫu giao diện người dùng, có thể bạn đã bắt gặp nó trước đây.

HOT
⚡ Tin công nghệ nóng mỗi ngày tại TechWire.vn
Xem ngay →


Tìm hiểu cách xây dựng trình tạo Lorem ipsum linh hoạt với Vite và JavaScript và bạn sẽ linh hoạt các kỹ năng phát triển của mình với kết quả hữu ích.


Tại sao Lorem Ipsum lại được sử dụng rộng rãi như vậy?

Bạn có thể thắc mắc tại sao rất nhiều nhà phát triển và nhà thiết kế chọn lorem ipsum khi họ có thể chỉ cần sao chép một trang từ một cuốn sách miền công cộng hoặc tương tự. Lý do chính là nó cho phép người dùng hoặc người xem hiểu được hình thức trực quan của tài liệu hoặc nguyên mẫu mà không tập trung quá nhiều vào chính văn bản giữ chỗ.

Hãy tưởng tượng bạn đang thiết kế một tờ báo. Thay vì gặp rắc rối khi sao chép văn bản từ các nguồn khác nhau để làm cho thiết kế chân thực nhất có thể, bạn chỉ cần sao chép văn bản giữ chỗ lorem ipsum tiêu chuẩn và sử dụng văn bản đó thay thế.

Lorem ipsum được công nhận rộng rãi đến mức bạn thậm chí không cần chỉ định rằng đó là văn bản giữ chỗ—hầu như tất cả những ai bắt gặp nó sẽ ngay lập tức nhận ra rằng văn bản đó là văn bản bổ sung.

Thiết lập máy chủ dự án và phát triển

Mã được sử dụng trong dự án này có sẵn trong một kho lưu trữ GitHub và miễn phí cho bạn sử dụng theo giấy phép MIT. Sao chép nội dung của phong cách.css và lorem.js các tệp và dán chúng vào các bản sao cục bộ của các tệp này.

Nếu bạn muốn xem phiên bản trực tiếp của dự án này, bạn có thể xem cái này thử nghiệm.

Bạn sẽ sử dụng công cụ xây dựng Vite để thiết lập mọi thứ. Đảm bảo rằng bạn đã cài đặt Node.js và Trình quản lý gói nút (NPM) hoặc Sợi trên máy của mình, sau đó mở thiết bị đầu cuối của bạn và chạy:

 npm create vite 

Hoặc:

 yarn create vite

Điều này sẽ tạo ra một dự án Vite trống. Nhập tên dự án, đặt khung thành “Vanilla” và biến thể thành “Vanilla”. Sau khi làm điều đó, điều hướng đến thư mục dự án với đĩa CD lệnh, sau đó chạy:

 npm i 

Hoặc:

 yarn 

Sau khi cài đặt tất cả các phụ thuộc, hãy mở dự án trong trình soạn thảo văn bản bạn chọn, sau đó sửa đổi cấu trúc dự án để trông giống như sau:

Ảnh chụp màn hình của cấu trúc dự án

Bây giờ, xóa nội dung của index.html tập tin và thay thế nó bằng như sau:

 <!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Lorem Ipsum Generator</title>
  </head>
  <body>
    <h1>Lorem Ipsum Generator</h1>
    <div id="app">
      <div class="controls">
        <form>
          <div class="control">
            <label for="w-count">Words per paragraph</label>
            <div>
              <input type="range" id="w-count" min="10" max="100" value="25" step="10">
              <span id="w-count-label">25</span>
            </div>
          </div>
          <div class="control">
            <label for="p-count">Paragraph count</label>
            <div>
              <input type="range" id="p-count" min="1" max="20" step="1" value="3">
              <span id="p-count-label">3</span>
            </div>
          </div>
          <button type="submit">Generate</button>
        </form>
        <button class="copy">Copy to Clipboard</button>
        <div class="info">
          Use the sliders to set the parameters, then hit the "Generate" button.
          
          You can copy the text by hitting the "Copy to Clipboard" button
        </div>
      </div>
      <div class="output"></div>
    </div>
    <script type="module" src="/main.js"></script>
  </body>
</html>

Đánh dấu này chỉ đơn giản là xác định giao diện người dùng. Phía bên trái của màn hình hiển thị các điều khiển, trong khi phía bên phải hiển thị đầu ra. Tiếp theo, mở chính.js tệp, xóa nội dung của tệp và thêm một dòng để nhập phong cách.css:

 import './style.css'

Nhập tệp Lorem và xác định biến toàn cục

Mở kho lưu trữ GitHub của dự án này, sao chép nội dung của lorem.js tệp và dán chúng vào bản sao cục bộ của bạn lorem.js. lorem.js chỉ cần xuất một chuỗi văn bản Lorem Ipsum rất dài mà các tệp JavaScript khác có thể sử dụng.

bên trong chính.js tệp, nhập tệp truyền thuyết chuỗi từ lorem.js file và xác định các biến cần thiết:

 import { lorem } from './lorem';

let text = lorem.replace(/[.,/#!$%^&*;:{}=-_`~()]/g, "").split(' ');
let lastChar;
let wordCountControl = document.querySelector("#w-count");
let paragraphCountControl = document.querySelector("#p-count");
let wordCountLabel = document.querySelector("#w-count-label");
let paragraphCountLabel = document.querySelector("#p-count-label");
let wordCount = wordCountControl.value;
let paragraphCount = paragraphCountControl.value;
let copy = document.querySelector(".copy");

Mã này sử dụng một biểu thức chính quy để loại bỏ bất kỳ dấu chấm câu nào trong truyền thuyết chữ. Các chữ biến liên kết phiên bản sửa đổi này của truyền thuyết chữ. Điều này sẽ làm cho nó dễ dàng hơn để tạo ra các từ và đoạn văn.

Tạo chức năng máy phát điện

Đối với bất kỳ câu hoặc đoạn văn được tạo ngẫu nhiên nào có vẻ “thực”, cần phải có dấu chấm câu. Sau khi xác định các biến toàn cục, hãy tạo một hàm gọi là generateRandomPunctuation() và trong chức năng đó tạo ra một mảng gọi là nhân vật và cư nó.

 function generateRandomPunctuation() {
    let characters = [",", "!", ".", "?"];
    let character = characters[Math.floor(Math.random() * characters.length)];
    lastChar = character;
    return character;
}

Khối mã ở trên xác định một mảng, nhân vật, chứa các dấu chấm câu khác nhau. Nó định nghĩa một biến khác, tính cáchmà nó đặt thành một phần tử ngẫu nhiên từ nhân vật mảng. Biến toàn cầu, cuối cùngCharlưu trữ cùng một giá trị mà sau đó hàm trả về.

Tiếp theo, tạo một tạoParagraph() chức năng với một đếm tham số có giá trị mặc định là 100.

 function generateParagraph(count = 100) {
}

Trong chức năng này, khai báo một đoạn văn mảng và tìm nạp các từ ngẫu nhiên từ toàn cầu chữ mảng, sau đó đẩy nó vào đoạn văn.

 let paragraph = [];

for (let i = 1; i <= count; i++) {
    paragraph.push(text[Math.floor(Math.random() * text.length)].toLowerCase());
}

Tiếp theo, thêm mã để viết hoa chữ cái đầu tiên trong từ đầu tiên của mỗi đoạn:

 let fl=paragraph[0];
paragraph[0] = fl.replace(fl[0], fl[0].toUpperCase());

Mỗi đoạn kết thúc bằng dấu chấm câu (thường là dấu chấm), vì vậy hãy thêm mã thêm dấu chấm vào cuối mỗi đoạn.

 let lwPos = paragraph.length - 1;
let lWord = paragraph[lwPos];
paragraph[lwPos] = lWord.replace(lWord, lWord + ".");

Tiếp theo, triển khai chức năng thêm dấu chấm câu được tạo ngẫu nhiên vào thành phần ngẫu nhiên trong đoạn văn mảng.

 paragraph.forEach((word, index) => {
    if (index > 0 && index % 10 === 0) {
        let randomNum = Math.floor(Math.random() * 4);
        let pos = index + randomNum;
        let randWord = paragraph[pos];
        paragraph[pos] = randWord.replace(randWord, randWord + generateRandomPunctuation());
        let nWord=paragraph[pos + 1];

        if (lastChar !== ",") {
            paragraph[pos + 1] = nWord.replace(nWord[0], nWord[0].toUpperCase());
        }
    }
})

Khối mã này tạo ra một ký tự chấm câu ngẫu nhiên và nối nó vào cuối một phần tử ngẫu nhiên từ đoạn văn mảng. Sau khi nối thêm dấu câu, nó viết hoa chữ cái đầu tiên của thành phần tiếp theo nếu dấu câu không phải là dấu phẩy.

Cuối cùng, trả lại đoạn văn mảng được định dạng dưới dạng một chuỗi:

 return paragraph.join(" "); 

Văn bản lorem ipsum phải có ‘cấu trúc’ dựa trên số lượng đoạn văn mà người dùng chỉ định. Bạn có thể sử dụng một mảng để xác định ‘cấu trúc’ này. Ví dụ: nếu người dùng muốn một văn bản lorem ipsum có ba đoạn, thì mảng ‘cấu trúc’ sẽ có dạng như sau:

 structure = ["First paragraph.", "n n", "Second paragraph.", "n n", "Third paragraph"]

Trong khối mã ở trên, mỗi “n n” đại diện cho khoảng cách giữa mỗi đoạn. nếu bạn đăng nhập cấu trúc.join(“”) trong bảng điều khiển trình duyệt, bạn sẽ thấy như sau:

Ảnh chụp màn hình của cấu trúc

Tạo một hàm tự động tạo cấu trúc này và gọi hàm tạo raParagraph chức năng:

 function generateStructure(wordCount, paragraph = 1) {
    let structure = [];

    for (let i = 0; i < paragraph * 2; i++) {
        if (i % 2 === 0) structure[i] = generateParagraph(wordCount);
        else if (i < (paragraph * 2) - 1) structure[i] = "n n";
    }

    return structure.join("");
}

Thêm Trình lắng nghe sự kiện vào Điều khiển

Thêm trình xử lý sự kiện “đầu vào” vào wordCountControl phần tử đầu vào và trong chức năng gọi lại, đặt số từ đến giá trị đầu vào. Sau đó cập nhật nhãn.

 wordCountControl.addEventListener("input", (e) => {
    wordCount = e.target.value;
    wordCountLabel.textContent= e.target.value;
})

Tiếp theo, thêm trình xử lý sự kiện “đầu vào” vào kiểm soát đoạn văn phần tử đầu vào và trong hàm gọi lại, đặt đoạn văn vào giá trị đầu vào và cập nhật nhãn.

 paragraphCountControl.addEventListener("input", (e) => {
    paragraphCount= e.target.value;
    paragraphCountLabel.textContent = e.target.value;
})

Thêm trình xử lý sự kiện “nhấp chuột” vào sao chép nút gọi trở lại sao chép văn bản() khi sự kiện kích hoạt.

 copy.addEventListener("click", ()=>copyText());

Cuối cùng, thêm trình xử lý sự kiện “gửi” vào hình thức phần tử HTML và gọi cập nhật giao diện người dùng chức năng trong chức năng gọi lại.

 document.querySelector("form").addEventListener('submit', (e) => {
    e.preventDefault();
    updateUI();
})

Hoàn thiện và cập nhật giao diện người dùng

Tạo một chức năng getControlValues trả về số từ Và đoạn văn như một đối tượng.

 function getControlValues() {
    return { wordCount, paragraphCount };
}

Sau đó tạo cập nhậtUI() chức năng hiển thị văn bản được tạo trên màn hình cho người dùng:

 function updateUI() {
    let output = generateStructure(getControlValues().wordCount, getControlValues().paragraphCount)
    document.querySelector(".output").innerText = output;
}

Sắp xong. tạo sao chép văn bản() chức năng ghi văn bản vào khay nhớ tạm bất cứ khi nào người dùng nhấp vào nút “Sao chép vào khay nhớ tạm”.

 async function copyText() {
    let text = document.querySelector(".output").innerText;
    try {
      await navigator.clipboard.writeText(text);
      alert('Copied to clipboard');
    } catch (err) {
      alert('Failed to copy: ', err);
    }
  }

Sau đó gọi cập nhậtUI() chức năng:

 updateUI();

Chúc mừng! Bạn đã xây dựng trình tạo văn bản lorem ipsum bằng JavaScript và Vite.

Ảnh chụp màn hình của dự án đã hoàn thành

Tăng cường phát triển JavaScript của bạn với Vite

Vite là một công cụ giao diện người dùng phổ biến giúp dễ dàng thiết lập khung giao diện người dùng của bạn. Nó hỗ trợ nhiều khung khác nhau như React, Svelte, SolidJS và thậm chí cả JavaScript đơn giản. Nhiều nhà phát triển JavaScript sử dụng Vite vì nó rất dễ cài đặt và rất nhanh.

Nguồn: Tổng hợp – được thực hiện thử nghiệm bằng NLP và trí tuệ nhân tạo, vui lòng nhấn báo lỗi để góp ý

Theo dõi TechTimes trên Google News
Chia sẻ. Copy Link Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Bài trướcCách cấp nguồn cho Raspberry Pi Pico
Bài tiếp theo Lỗi Tệp Quá Lớn” trong Linux

Bài viết liên quan

iOS 27 Rumored to Bring Major Camera and Photos App Upgrades

Microsoft Finally Brings Movable Taskbar Back to Windows 11

Largest Brain-Scan Study Links Anxiety Disorders to Lower Choline Levels

NVIDIA Introduces Open “Ising” AI Models to Push Quantum Computing Toward Real-World Applications

Apple Sets WWDC 2026 for June 8–12 With Global Online Access

CERAWeek 2026: NVIDIA and Emerald AI Partner to Turn AI Factories Into Smart Grid Assets

  • Facebook
  • Twitter
  • Instagram
  • YouTube
  • LinkedIn
  • TikTok
Đánh giá mới
9.0

Corsair VANGUARD AIR 99 Wireless: Bàn phím gaming cao cấp cho cả chơi game lẫn sáng tạo nội dung

19/05/2026
9.7

Đánh giá OPPO Find X9s: Khi smartphone nhỏ gọn mang tham vọng thay thế máy ảnh chuyên nghiệp

09/05/2026
9.5

Đánh giá realme P4 Power 5G: Pin 10.001 mAh không chỉ là con số, mà là trải nghiệm thay đổi cách dùng smartphone

09/04/2026
9.4

Đánh giá EPSON EcoTank M2050: Máy in – scan – copy trắng đen tiết kiệm, bền bỉ cho văn phòng hiện đại

05/04/2026
9.3

Đánh giá Sony LinkBuds Clip WF-LC900: Trải nghiệm nghe mở đúng nghĩa, dành cho nhịp sống luôn kết nối

05/04/2026
Được quan tâm nhiều
Bảo mật

Video nhạy cảm từ ‘hack’ camera rao bán tràn lan trên mạng Internet

16/04/2021Gia Nguyên

Mục tiêu chính của các nhóm tội phạm là hack camera giấu kín tại các…

Cách lấy lại lịch sử Chat GPT bị mất của bạn

08/04/2023

Giá rò rỉ Samsung Galaxy Z Fold 7 và Z Flip 7 tại châu Âu cho thấy mức tăng đáng kể

25/06/2025

Cách khắc phục lỗi không lưu được file PDF đã sửa

15/05/2022

Tải về hình nền wallpaper iPhone 16 và iPhone 16 Pro, Pro Max

10/09/2024

Microsoft tung các cải tiến mới nhất của AI trong Bing và Edge

08/05/2023

Sức mạnh laptop gaming AI Acer Predator 2025 chinh phục mọi tựa game AAA

21/06/2025

Cách cài đặt Ryujinx làm Trình giả lập Nintendo Switch cho PC của bạn

12/07/2023

Download tải về hình nền wallpaper iPhone 15, 15 Pro và 15 Pro Max

13/09/2023

Cách tạo trang bìa trong Google Docs

21/04/2023

Cách lưu hình ảnh từ Google Maps

31/05/2023

Cách lưu các mẫu và thành phần Canva yêu thích của bạn bằng cách gắn dấu sao cho chúng

21/06/2023
🔴 LIVE - TECHTIMES
    © TechTimes.vn - Thông tin công nghệ cập nhật liên tục
    TechTimes Vietnam
    Facebook X (Twitter) Instagram YouTube LinkedIn TikTok
    TechTimes là trang thông tin điện tử tổng hợp; Cơ quan chủ quản: Công ty TNHH TechTimes; Địa chỉ: 39/8A đường 475, khu phố 41, P. Phước Long, TP. HCM; Chịu trách nhiệm nội dung: Ông NGUYỄN VĂN ĐÔ; Giấy phép: Giấy phép thiết lập trang thông tin điện tử tổng hợp số 39/GP-STTTT do Sở Thông tin và Truyền thông Thành phố Hồ Chí Minh cấp ngày 21/08/2017; Giấy phép bổ sung số 23/GP-STTTT cấp ngày 23/03/2021 và quyết định cập nhật số 03/QĐ-STTTT-ICP do Sở TTTT cấp ngày 01/03/2024.

    © 2026 TechTimes.vn - Cập nhật liên tục tin tức, đánh giá sản phẩm, chia sẻ kinh nghiệm sử dụng sản phẩm công nghệ cao, nhận định - phân tích từ chuyên gia uy tín - Email: info@techtimes.vn , Điện thoại: 0935014085• Powered by vHost

    Gõ từ khoá và nhấn Enter để tìm kiếm bài viết trên TechTimes. Nhấn Esc để huỷ.