Tiệm Công Nghệ

Đang hiện gợi ý.

Đang mở danh mục của tiệm…
↑↓ để di chuyển↵ để mởesc để đóng
Tìm kiếm Tiệm Công Nghệ
Componentv1.0.0~5 KB (gzip)

Scramble Text

Hiệu ứng giải mã kiểu hacker cho tiêu đề, link và nút — từng ký tự nhảy loạn rồi khớp vào chỗ

Miễn phíMiễn phí
Định dạng

.zip · HTML / CSS / JS · v1.0.0

Miễn phí — không cần tài khoản hay email. Luôn là bản mới nhất.

Đang chạy trực tiếp

Phiên bản
Độ rộng khung xem
Thu phóng

Giới thiệu

Dòng chữ tự giải mã. Từng ký tự nhảy qua những ký hiệu ngẫu nhiên rồi lần lượt khớp vào chỗ, như một cái terminal đang bẻ khoá mật mã — trên tiêu đề lúc cuộn tới, trên link khi con trỏ ghé qua, hay trên một dòng trạng thái bất cứ khi nào code của bạn ra lệnh. Miễn phí, và sinh ra để là dòng chữ vui nhất trên trang của bạn.

  • Đủ kiểu kích hoạt: khi hiện ra, khi rê chuột / focus, theo lệnh (await scramble(el, { text })), và cụm từ xoay vòng biến hình từ câu này sang câu khác
  • Tự chọn kiểu "nhiễu": glyphs, binary, hex, katakana, blocks hay ký tự của riêng bạn — cùng thứ tự, tốc độ, độ so le và màu sắc
  • Bố cục không xê dịch một pixel: mỗi ký tự giữ nguyên chỗ của nó, ký hiệu chỉ được vẽ đè lên
  • Chạy theo seed nên ảnh chụp, video và test lần nào cũng ra y hệt
  • Trình đọc màn hình nhận đúng chữ thật; người bật giảm chuyển động thấy chữ hiện ngay
  • Không cần cài gì: một file CSS và một script nhỏ, hoặc một file React

Tính năng · 10

  • Giải mã khi hiện ra (một lần, lúc cuộn tới), khi rê chuột và focus, hoặc theo lệnh từ code của bạn
  • Cụm từ xoay vòng, biến hình từ câu này sang câu khác — chỉ những chữ thay đổi mới nhảy
  • Năm bộ ký tự có sẵn — glyphs, binary, hex, katakana, blocks — hoặc bất kỳ ký tự nào bạn muốn
  • Bốn thứ tự hiện chữ: trái sang phải, phải sang trái, ngẫu nhiên, từ giữa ra
  • Chỉnh được thời lượng, tốc độ đổi ký tự, độ so le, độ trễ, màu ký tự chưa giải và chớp sáng khi khớp
  • Không xô lệch bố cục: chữ giữ đúng bề rộng cuối cùng ngay từ khung hình đầu, kể cả khi xuống dòng
  • Chạy theo seed: cùng seed thì cùng một màn giải mã, khớp từng khung hình
  • Khoảng trắng (và dấu câu, nếu muốn) đứng yên; chữ tiếng Việt và emoji tính là một ký tự
  • Bản HTML/CSS/JS thuần và bản React (dùng được với Next.js), kèm hook useScramble
  • Không phụ thuộc thư viện, khoảng 5 KB sau gzip (cả script lẫn CSS)

Cách dùng

Gắn stylesheet và script một lần, rồi đánh dấu phần tử nào chứa chữ thuần:

HTML
<link rel="stylesheet" href="scramble-text.css" />
<script src="scramble-text.js" defer></script>

<h1 data-scramble>Dòng chữ tự giải mã</h1>
<a href="/docs" data-scramble="hover" data-scramble-charset="binary">Tài liệu</a>
<span data-scramble-rotate data-scramble-phrases="Làm nhanh hơn | Gọn gàng hơn | Không tốn đồng nào">Làm nhanh hơn</span>

data-scramble chọn cách kích hoạt: để trống hoặc reveal thì giải mã lần đầu phần tử được cuộn tới (trước đó nó chờ dưới dạng ký hiệu đứng yên), hover thì xáo lại mỗi lần rê chuột hay focus — vào link hoặc nút bao quanh nó, nếu có — còn manual thì chờ bạn gọi. data-scramble-rotate biến hình từ cụm này sang cụm khác (ngăn cách bằng |) sau mỗi data-scramble-interval ms (mặc định 2200), giữ bề rộng của cụm dài nhất; nó tạm dừng khi được rê chuột hoặc focus.

Tuỳ chọn qua data attribute, dùng được cho cả hai:

Attribute Mặc định Làm gì
data-scramble-charset glyphs glyphs, binary, hex, katakana, blocks — hoặc chính các ký tự, ví dụ ✦✧★
data-scramble-order ltr ltr, rtl, random hoặc center (từ giữa ra)
data-scramble-duration 1000 Số ms từ lúc ký tự đầu tiên khớp đến ký tự cuối cùng
data-scramble-speed 45 Số ms giữa hai lần đổi ký hiệu (càng nhỏ nhảy càng nhanh)
data-scramble-stagger 0.85 0–1: 1 khớp lần lượt từng chữ, 0 khớp cùng lúc ở cuối
data-scramble-delay 0 Số ms chỉ toàn nhiễu trước khi ký tự đầu tiên khớp
data-scramble-seed — Số hoặc từ bất kỳ: cùng seed thì cùng một màn giải mã, khớp từng khung hình
data-scramble-preserve space space, punctuation (kèm khoảng trắng) hoặc none: thứ gì đứng yên
data-scramble-mono — Mọi ký tự rộng bằng nhau, dùng font --scramble-mono-font
data-scramble-label — Nội dung trình đọc màn hình đọc thay (xoay vòng: mặc định đọc mọi cụm)

Từ code của bạn:

JavaScript
await ScrambleText.scramble(element, { text: "Đã cấp quyền", charset: "hex", order: "center" });
ScrambleText.rotator(element).pause(); // hoặc .play(), .next()

scramble giải mã bất kỳ phần tử nào sang chữ mới (hoặc xáo lại chữ đang có), mọi tuỳ chọn ở trên chỉ áp cho lần gọi đó; changedOnly: true chỉ xáo những ký tự khác nhau. Hàm trả về khi ký tự cuối cùng khớp, và phần tử phát sự kiện scrambleend (có nổi bọt). Phần tử thêm vào sau khi trang đã tải: ScrambleText.init(container) — hàm này trả về một hàm để gỡ ra. ScrambleText.create(element, options) và ScrambleText.createRotate(element, { phrases }) trả về controller trực tiếp.

Hỏi về sản phẩm này

Chưa chắc có hợp dự án của bạn? Cứ hỏi — câu trả lời lấy từ chính trang này.

Câu trả lời do AI viết dựa trên trang này và có thể sai. Nội dung trên trang mới là chuẩn.

Lịch sử phiên bản

  1. 1.0.0First releaseMới nhất

    Plain HTML/CSS/JS and React builds of a decode text effect: reveal, hover and on-demand scrambles, rotating phrases, five charset presets, four reveal orders, seeded runs, no layout shift, screen-reader and reduced-motion support.

  2. Bản sửa lỗi và tính năng mới đều có ngay ở nút tải này — file tải về luôn là bản mới nhất.