• Kiến thức
  • Network
  • Security
  • Software
  • Thủ thuật
  • Tin học văn phòng
  • Tin tức
  • Mail ảo tạm thời miễn phí
  • Tools tra cứu thông tin
  • Công cụ đổi số thành chữ
AnonyViet
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
AnonyViet
No Result
View All Result

Chia sẻ Code tuyết rơi cho Website đón Giáng Sinh

AnonyViet by AnonyViet
16/12/2025
in Code
A A
0

Mục lục bài viết

  1. Ưu điểm code tuyết rơi cho Website đón Giáng Sinh
  2. Full Code hiệu ứng tuyết rơi (HTML/CSS/JS)
  3. Full Code hiệu ứng tuyết rơi có động tuyết ở chân trang
    1. Giải thích các thông số trong code để bạn tùy chỉnh:
  4. Hướng dẫn thêm Code tuyết rơi Website Code tay (HTML/PHP)
  5. 4. Hướng dẫn cài đặt cho WordPress
    1. Cách 1: Sử dụng Plugin chèn Header & Footer (Khuyên dùng)
    2. Cách 2: Chèn trực tiếp vào Theme (Dành cho Dev)

Mỗi dịp Giáng sinh về, các Website đều thay đổi giao diện để hưởng ứng không khí lễ hội. Một trong những điểm nhấn đơn giản nhưng hiệu quả nhất chính là hiệu ứng tuyết rơi (Snowfall Effect).

📢 Tham gia kênh Telegram của AnonyViet
👉 Vào Telegram AnonyViet
Cập nhật bài mới, tools hay và thủ thuật IT nhanh nhất

Tuy nhiên, nhiều script tuyết rơi cũ thường sử dụng thư viện jQuery nặng nề hoặc Canvas phức tạp khiến website bị chậm, lag trên điện thoại. Trong bài viết này, mình sẽ chia sẻ đoạn code tuyết rơi sử dụng CSS3 Animation và Vanilla JavaScript (JS thuần). Đảm bảo 3 tiêu chí: Siêu nhẹ – Không gây lag – Dễ cài đặt.

Các bài viết liên quan

Hướng dẫn học lập trình miễn phí với Vue School 3

Hướng dẫn học lập trình miễn phí với Vue School

02/03/2025 - Updated on 25/07/2025
chuyen giao dien website sang trang den

Code chuyển giao diện Website sang nền trắng đen để tưởng nhớ hoặc để Quốc tang

20/07/2024 - Updated on 24/07/2025
Discord Nitro Free

Hướng dẫn sử dụng Discord Nitro miễn phí

16/11/2023 - Updated on 24/07/2025
Website tổng hợp có Full hiệu ứng âm Tiktok miễn phí 4

Website tổng hợp có Full hiệu ứng âm Tiktok miễn phí

06/11/2023 - Updated on 24/07/2025

Ưu điểm code tuyết rơi cho Website đón Giáng Sinh

  • Tối ưu hiệu suất: Sử dụng CSS Keyframes để tạo chuyển động thay vì tính toán vị trí liên tục bằng JS, giúp giảm tải cho CPU.
  • Không chặn tương tác: Đã được xử lý thuộc tính pointer-events: none, giúp người dùng vẫn click được vào các link/nút bấm bên dưới lớp tuyết mà không bị vướng.
  • Tùy biến cao: Dễ dàng chỉnh số lượng tuyết, tốc độ rơi và hình dáng bông tuyết.

Full Code hiệu ứng tuyết rơi (HTML/CSS/JS)

cdoe tuyet trang trang tri website

Dưới đây là đoạn mã đầy đủ. Bạn không cần tải file rườm rà, chỉ cần copy và dán.

      <style>
  .snowflake {
    position: fixed;
    top: -10px;
    z-index: 9999;
    user-select: none;
    cursor: default;
    animation-name: fall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    color: #F527E4; /* Màu tuyết nếu dùng ký tự */
  }

  @keyframes fall {
    to {
      transform: translateY(100vh);
    }
  }
</style>

<script>
  (function() {
    var snowflakes = [],
        browserWidth, browserHeight,
        numberOfSnowflakes = 50, // Số lượng bông tuyết
        resetPosition = false;

    function setup() {
        window.addEventListener("DOMContentLoaded", generateSnowflakes, false);
        window.addEventListener("resize", setResetFlag, false);
    }

    function setResetFlag(e) {
        resetPosition = true;
    }

    function generateSnowflakes() {

        var originalSnowflake = document.createElement("div");
        originalSnowflake.classList.add("snowflake");
        originalSnowflake.innerHTML = "❄"; 
        originalSnowflake.style.fontSize = "20px"; // Kích thước cơ bản

        var snowflakeContainer = document.body;
        
        browserWidth = document.documentElement.clientWidth;
        browserHeight = document.documentElement.clientHeight;

        for (var i = 0; i < numberOfSnowflakes; i++) {
            var snowflakeClone = originalSnowflake.cloneNode(true);
            snowflakeContainer.appendChild(snowflakeClone);

            var initialX = Math.floor(Math.random() * browserWidth);
            var fallDuration = Math.floor(Math.random() * 10) + 5 + "s";
            var snowflakeSize = Math.floor(Math.random() * 20) + 10 + "px"; // Random kích thước
            var delay = Math.floor(Math.random() * 5) + "s";

            snowflakeClone.style.left = initialX + "px";
            snowflakeClone.style.animationDuration = fallDuration;
            snowflakeClone.style.fontSize = snowflakeSize;
            snowflakeClone.style.animationDelay = delay;
            snowflakeClone.style.opacity = Math.random(); // Độ mờ ngẫu nhiên
        }
    }
    setup();
  })();
</script>

Để đổi màu tuyết bạn thay đổi mã màu ở dòng color: #F527E4;

Full Code hiệu ứng tuyết rơi có động tuyết ở chân trang

code tuyet roi ngung dong chan trang

Đây là phiên bản nâng cao sử dụng HTML5 Canvas. Hiệu ứng này sẽ cho phép tuyết rơi và đọng lại dưới chân trang web. Theo thời gian, lớp tuyết sẽ dày lên và có thể che phủ màn hình giống như một trận bão tuyết thực sự.

Hiệu ứng tuyết tích tụ sẽ che khuất nội dung website của bạn từ dưới lên trên. Hãy cân nhắc kỹ trước khi sử dụng cho trang bán hàng vì khách có thể không nhìn thấy nút “Mua ngay” hoặc Footer. Bạn có thể chỉnh biến maxSnowHeight trong code để giới hạn độ cao của tuyết (ví dụ chỉ cho cao 100px rồi dừng).


Giải thích các thông số trong code để bạn tùy chỉnh:

  • maxSnowHeight = height;: Tuyết sẽ dâng lên mãi cho đến khi lấp đầy màn hình (full screen). Nếu bạn chỉ muốn nó dâng lên một chút rồi dừng (để không che web), hãy đổi thành số pixel cụ thể, ví dụ: maxSnowHeight = 150;.
  • snowflakeCount = 200;: Số lượng hạt tuyết đang rơi. Tăng lên thì dày hơn nhưng máy yếu có thể lag.
  • snowPile: Đây là mảng kỹ thuật để lưu “bản đồ địa hình” của lớp tuyết dưới đáy.
<canvas id="snowCanvas" style="position: fixed; top: 0; left: 0; z-index: 99999; pointer-events: none;"></canvas>

<script>
(function() {
    var canvas = document.getElementById('snowCanvas');
    if (!canvas) { console.error("Không tìm thấy thẻ canvas"); return; }
    
    var ctx = canvas.getContext('2d');
    var width = window.innerWidth;
    var height = window.innerHeight;
    
    // --- CẤU HÌNH ---
    var maxSnowHeight = 200;    // Độ cao tối đa tuyết đọng (pixel)
    var snowflakeCount = 200;   // Số lượng hạt tuyết
    var snowColor = "#ADD8E6";  // Màu tuyết (Xanh nhạt để dễ test, muốn trắng sửa thành #FFFFFF)
    // ----------------
    
    canvas.width = width;
    canvas.height = height;

    var snowflakes = [];
    var snowPile = new Array(width).fill(0); 

    // Hàm tạo lại hạt tuyết khi rơi xuống hoặc mới bắt đầu
    function resetSnowflake(flake) {
        flake.x = Math.floor(Math.random() * width);
        flake.y = Math.floor(Math.random() * -height); 
        flake.size = Math.random() * 3 + 2; 
        flake.speed = (Math.random() * 1) + 1.5; // Tốc độ rơi
        flake.velY = flake.speed;
        flake.velX = 0;
        flake.opacity = (Math.random() * 0.5) + 0.3;
    }

    // Khởi tạo các hạt tuyết
    function init() {
        snowflakes = [];
        for (var i = 0; i < snowflakeCount; i++) {
            var flake = {};
            resetSnowflake(flake);
            snowflakes.push(flake);
        }
        // GỌI HÀM UPDATE ĐỂ BẮT ĐẦU CHẠY
        update();
    }

    // Vòng lặp chuyển động
    function update() {
        ctx.clearRect(0, 0, width, height);

        // 1. Vẽ đống tuyết tích tụ dưới đáy
        ctx.fillStyle = snowColor;
        ctx.beginPath();
        ctx.moveTo(0, height);
        for (var x = 0; x < width; x++) {
            ctx.lineTo(x, height - snowPile[x]);
        }
        ctx.lineTo(width, height);
        ctx.fill();

        // 2. Vẽ và cập nhật bông tuyết đang rơi
        for (var i = 0; i < snowflakes.length; i++) {
            var f = snowflakes[i];

            f.x += Math.sin(f.y * 0.05) * 0.5; // Lắc lư nhẹ
            f.y += f.velY;

            var currentX = Math.floor(f.x);
            if (currentX < 0) currentX = 0;
            if (currentX >= width) currentX = width - 1;

            // Kiểm tra va chạm với đống tuyết
            var pileHeight = snowPile[currentX];
            
            if (f.y >= height - pileHeight) {
                // Tích tụ tuyết nếu chưa vượt quá giới hạn
                if (pileHeight < maxSnowHeight) {
                    var range = 3; 
                    for(var k = -range; k <= range; k++) {
                        var neighborX = currentX + k;
                        if(neighborX >=0 && neighborX < width) {
                             snowPile[neighborX] += f.size * 0.3; 
                        }
                    }
                }
                resetSnowflake(f); // Tạo lại hạt mới từ trên cao
            }

            // Vẽ bông tuyết đơn lẻ
            ctx.fillStyle = snowColor;
            ctx.globalAlpha = f.opacity; // Độ trong suốt
            ctx.beginPath();
            ctx.arc(f.x, f.y, f.size, 0, Math.PI * 2);
            ctx.fill();
            ctx.globalAlpha = 1; // Reset lại alpha
        }
        
        requestAnimationFrame(update);
    }

    // Xử lý khi resize màn hình
    window.addEventListener('resize', function() {
        width = window.innerWidth;
        height = window.innerHeight;
        canvas.width = width;
        canvas.height = height;
        snowPile = new Array(width).fill(0); // Reset tuyết đọng khi resize để tránh lỗi hiển thị
    });

    init();
})();
</script>

Hướng dẫn thêm Code tuyết rơi Website Code tay (HTML/PHP)

Đối với các website tự code hoặc các mã nguồn mở khác (Laravel, CodeIgniter…), bạn thực hiện như sau:

  1. Mở file footer của giao diện (thường là footer.php, footer.html hoặc file layout chính).
  2. Tìm đến thẻ đóng </body>.
  3. Dán đoạn code ở mục 2 vào ngay phía trên thẻ </body>.
  4. Lưu file và tải lại trang (Ctrl + F5) để xem kết quả.

4. Hướng dẫn cài đặt cho WordPress

Với WordPress, có 2 cách để chèn code này mà không cần cài plugin nặng nề tạo hiệu ứng:

Cách 1: Sử dụng Plugin chèn Header & Footer (Khuyên dùng)

Cách này an toàn nhất, khi đổi giao diện (theme) code vẫn hoạt động.

  1. Cài đặt plugin WPCode (trước đây là Insert Headers and Footers) hoặc Header Footer Code Manager.
  2. Vào menu plugin, chọn Add New Snippet.
  3. Chọn vị trí chèn là Footer.
  4. Dán đoạn code trên vào và bấm Save/Activate.

Cách 2: Chèn trực tiếp vào Theme (Dành cho Dev)

  1. Vào trang quản trị WP -> Giao diện (Appearance) -> Chỉnh sửa giao diện (Theme File Editor).
  2. Tìm file footer.php ở cột bên phải.
  3. Dán code vào trước thẻ đóng </body>.
  4. Bấm Cập nhật tệp tin.

Lưu ý: Với cách 2, nếu bạn update theme thì code sẽ mất, nên sử dụng Child Theme để tránh tình trạng này.

Chỉ với vài dòng code đơn giản, website của bạn đã trở nên sinh động hơn rất nhiều trong mắt khách truy cập. Đây là một mẹo nhỏ trong UI/UX giúp giữ chân người dùng lâu hơn trong dịp lễ hội.

Chúc các bạn thực hiện thành công và có một mùa Giáng sinh an lành! Nếu có thắc mắc gì, hãy để lại bình luận bên dưới nhé.

Tags: code tuyết rơicsshiệu ứngjavascriptjstuyết rơi
AnonyViet

AnonyViet

20 năm kinh nghiệm trong lĩnh vực Security, các chứng chỉ:OSCP, CCNA, CCNP, CISSP. Kiến thức như một ngọn lửa, càng chia sẽ nó sẽ càng bùng cháy!

Related Posts

Hướng dẫn học lập trình miễn phí với Vue School 5
Khóa Học

Hướng dẫn học lập trình miễn phí với Vue School

02/03/2025 - Updated on 25/07/2025
chuyen giao dien website sang trang den
Code

Code chuyển giao diện Website sang nền trắng đen để tưởng nhớ hoặc để Quốc tang

20/07/2024 - Updated on 24/07/2025
Discord Nitro Free
Mẹo Vặt Máy Tính

Hướng dẫn sử dụng Discord Nitro miễn phí

16/11/2023 - Updated on 24/07/2025
Website tổng hợp có Full hiệu ứng âm Tiktok miễn phí 6
Mẹo Vặt Máy Tính

Website tổng hợp có Full hiệu ứng âm Tiktok miễn phí

06/11/2023 - Updated on 24/07/2025
Code tự động liệt kê tất cả đơn hàng Shopee và tổng số tiền đã chi tiêu 7
Code

Code tự động liệt kê tất cả đơn hàng Shopee và tổng số tiền đã chi tiêu

05/10/2023 - Updated on 24/07/2025
Khai thác XSS với Javascript/JPEG Polyglot 8
Basic Hacking

Khai thác XSS với Javascript/JPEG Polyglot

08/09/2023 - Updated on 24/07/2025
guest

guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
oldest
newest

Liên hệ Quảng Cáo

Lien he AnonyViet

Bài viết mới

12 tháng Google AI Plus miễn phí

Hướng dẫn nhận 12 tháng Google AI Plus miễn phí (sinh viên Ấn Độ)

by Thanh Kim
31/07/2026
0

chứng chỉ Certified LLM Security Expert miễn phí

Hướng dẫn nhận chứng chỉ Certified LLM Security Expert miễn phí

by Thanh Kim
30/07/2026
0

mat ma khang luong tu

Mật mã kháng lượng tử là gì? Vì sao Internet phải thay đổi?

by AnonyViet
29/07/2026
0

Laptop MSI không chỉ dành cho game thủ: Dòng nào phù hợp sinh viên, dân văn phòng và người làm sáng tạo? 2

Laptop MSI không chỉ dành cho game thủ: Dòng nào phù hợp sinh viên, dân văn phòng và người làm sáng tạo?

by AnonyViet
29/07/2026
0

Bình luận gần đây

  • phú quốc trong Hướng dẫn cách nhận tick trắng Facebook miễn phí
  • AnonyViet trong Hướng dẫn cách nhận Norton 360 Deluxe 1 năm miễn phí
  • Colonia del Sacramento Lighthouse trong Techvui.com – Website chia sẻ các Mod Game miễn phí dành cho Android
  • ta van hoan trong Hướng dẫn cách nhận Norton 360 Deluxe 1 năm miễn phí
  • Nghia Pham trong Làm thế nào để mua Microsoft Office 2024 mới nhất với chi phí tiết kiệm?
  • AnonyViet trong Làm thế nào để mua Microsoft Office 2024 mới nhất với chi phí tiết kiệm?
  • Nghia Pham trong Làm thế nào để mua Microsoft Office 2024 mới nhất với chi phí tiết kiệm?
  • AnonyViet trong Hướng dẫn cách nhận Google AI Pro 1 năm miễn phí cho tài khoản mới
  • loc trong Hướng dẫn cách nhận Google AI Pro 1 năm miễn phí cho tài khoản mới
  • 1234560987 trong Hướng Dẫn Nhận Netflix 30 Ngày Miễn Phí Xem Phim
  • AnonyViet trong Super Dark Mode – Auto chuyển tất cả trang web sang chế độ tối
  • James trong Cách cài đặt và kích hoạt Office 2024 LTSC miễn phí vĩnh viễn
  • best trong Cách DDoS Layer 7 bằng Overload thử sức chịu tải của Website
  • Minh trong Super Dark Mode – Auto chuyển tất cả trang web sang chế độ tối
  • Quach thi diem hang trong Hướng dẫn chế ảnh số dư tài khoản MB Bank
  • Thái trong Hướng dẫn cách nhận 200GB MultCloud miễn phí mới nhất 2026
  • hiupc trong Hướng dẫn cách nhận Google AI Pro 1 năm miễn phí cho tài khoản mới
  • Linh trong Cách hoàn thuế TNCN không cần chứng từ trên eTax Mobile
  • Phuong trong Share key bản quyền IObit Uninstaller 15 PRO miễn phí 2026
  • AnonyViet trong Share key Driver Booster 13 Pro miễn phí 2026

Giới thiệu

AnonyViet

AnonyViet

Nơi chia sẻ những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến AnonyViet.

Hãy cùng AnonyViet xây dựng một cộng đồng CNTT lớn mạnh nhất!

Giới thiệu

AnonyViet là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. AnonyViet cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Liên hệ

Email: support[@]anonyviet.com

1409 Hill Street #01-01A
Old Hill Street Police Station
Singapore 179369

 

DMCA.com Protection Status

kết quả xổ số hôm nay 33win Ae888 kubet 8kbet 99ok trang chủ sc88 xin88 good88 fm88 kubet thailand vip66 xoso66 https://tp88fun.com/ hello88 qq88 Vip66 hitclub bong99 XOSO66 new882.info Thabet fun88 nhà cái uy tín sunwin sunwin rikvip hitclub sunwin go88 12bet v9bet betvisa betvisa vin777 vin777 ee88 bet88 abc8 c54 https://keonhacai.fund/ sunwin Xoso66 58win fun88.supply https://fun88.supply/ F8BET80 u888 W88 link https://bbet88b.com/ OK9 vswin https://nowgoal.ws/ https://tylekeonhacai.me/ https://keonhacai.org.vc/ https://xx88.asia/ 789f NOHU HITCLUB Sunwin 58WIN MV88 888NEW AZ888 TD88 12bet v9bet vip66 7mcn hm88 DA88 9BET LC88 Game https://go8.red/ Go88 https://bancadoithuong.codes/ https://danhdeonline.blog/ Xocdia88 https://nhacaiuytin10.uk.com/ https://keonhacai88.tv/ https://keonhacai.loans/ https://gamebaidoithuong.io/ https://keonhacai.kiwi/ 789club Sun52 sun win luck8 https://devmarks.io V9bet Jun88 https://keonhacaitop.com/ hytw3339 Kết quả bóng đá xoso66 https://kjcgaming.com/ go88 game nổ hũ tỷ lệ nhà cái https://sunwin.guru/ https://go88.baby/ https://hitclub.cab/ https://iwin.page/ https://b52.you/ https://789club-ceo.net/ https://manclub99.com/ https://choigamebai.org/ https://keonhacai95.com/ nổ hũ uy tín F168 https://kjcgaming.com/ 12bet 12bet 8day https://gmnc.club/ vip88 99ok https://sunwinn.band/ keonhacai5 Hm88 TG88 TR88 AF88 xoso66 Fun88 33win game bài kèo nhà cái F8bet RIK VIP https://sc88.info/ xx88 Rikvip https://sc88.market/ 8kbet https://vaoroitv.app/ https://mitomtv.me/ 7mcn rikvip sunwin https://keonhacai55.de/ https://keonhacai55.bet/ TẢI SUNWIN nổ hũ uy tín NK88 go88 trang chủ MB66 KK55 888slot J88 BL555 BL555 F168 https://fly88h.com/ nạp tiền qq88 58WIN Bắn cá đổi thưởng Rikvip Good88 Thabet luck8 JBO kjc nhà cái MB66 Xoilac TV xem trực tiếp bóng đá bóng đá trực tiếp cakhia tv trực tiếp bóng đá tối nay bshbet.com

©2026 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về CNTT

No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC

©2026 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về CNTT

wpDiscuz