• 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
Inline Feedbacks
View all comments

Liên hệ Quảng Cáo

Lien he AnonyViet

Bài viết mới

nhận 2 tháng Super Duolingo miễn phí

Cách nhận 2 tháng Super Duolingo miễn phí trị giá 300k

by Thanh Kim
30/04/2026
0

tạo avatar chào mừng 30/4

Tạo avatar chào mừng 30/4 với áo cờ đỏ sao vàng tuyệt đẹp

by Thanh Kim
30/04/2026
0

cách tự tạo sticker Zalo

Cách tạo Bộ sưu tập sticker khuôn mặt bằng ChatGPT

by Thanh Kim
29/04/2026
0

cách cài con trỏ chuột Bongo Cat

Cách cài con trỏ chuột Bongo Cat dễ thương cho Windows

by Thanh Kim
29/04/2026
0

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

  • Sang trong Share key Driver Booster 13 Pro miễn phí 2026
  • phuoc trong Cách nâng cấp SuperGrok Heavy miễn phí 1 năm qua Amazon Pay
  • võ văn lợi trong Cách nâng cấp SuperGrok Heavy miễn phí 1 năm qua Amazon Pay
  • Nhật trong Hướng dẫn cài Google TV lên USB để biến PC thành TV
  • cisad trong Share key Driver Booster v13 Pro miễn phí 6 tháng
  • Huy trong Hướng dẫn đăng ký Google Colab Pro 1 Năm Miễn Phí
  • phamphat trong Cách chạy OpenClaw bằng Crawbot: tiết kiệm chi phí
  • AnonyViet trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • Sơn trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • Hieu trong Share miễn phí bộ 03 Combo khóa học tự học tiếng Anh giao tiếp
  • 45555 trong Sự trỗi dậy của “Người ngoài hành tinh”: Alienware Aurora AC16250 “Vũ khí” tối thượng định hình Gaming năm 2026
  • 45555 trong Cách làm mờ ảnh trên iPhone sau khi chụp cực đơn giản
  • vatuan13 trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • vatuan13 trong Hướng dẫn thiết lập định vị giả trên Zalo
  • AnonyViet trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • hùng lê trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • Kelvin trong Hướng dẫn thi chứng chỉ bảo mật CTIGA miễn phí 100%
  • Minh trong Hướng dẫn kết nối OpenClaw với Whatsapp
  • AnonyViet trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • congdk trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)

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 kubet 8kbet 99ok trang chủ sc88 xin88 good88 kubet fm88 kubet thailand vip66 xoso66 https://tp88fun.com/ hello88 qq88 Xoso66 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 https://q23win.com/ u888 W88 link 58WIN https://bbet88b.com/ OK9 SHBET https://xx88.center/ vswin 789PCOM NHÀ CÁI MMOO TT88COM GO 99 ABC8 https://nowgoal.ws/ https://tylekeonhacai.me/ https://keonhacai.org.vc/ https://xx88.ac/ XN88 NOHU90 AF88 HZ88 https://xx88.asia/ 789f NOHU HITCLUB Sunwin 58WIN MV88 888NEW AZ888 PG99 TD88 12bet v9bet Thabet vip66 7mcn hm88 DA88 9BET 6789 LC88 Game SH BET https://jun88sr.com/ NOHU90 https://nohutm.com 789Win https://go8.red/ https://urr88.com/ hit club game bai tg88 kèo nhà cái 5 9 win Sunwin UU88 nổ hũ uy tín 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 ok 8386 xx88 Sun52 https://918xxy.com/ https://go99bet.live/ https://tt88.ae.org/ kjc https://go99.mx/ nhà cái MB66 Alo789 MV88 Thabet sun win luck8 https://devmarks.io cwin V9bet ALO8.com F168 8kbet TT88 789club AX88 AO88 OPEN88 https://nohu90s.asia 8us 8DAY https://f168.today/ RED88 VIC88 F168 keobongda.one/ Jun88 https://keonhacaitop.com/ hytw3339 Kết quả bóng đá open88 https://sc88.market/ trang chủ MB66 az888 WIN678 https://789betlol.com/ F 168 12bet SH BET vic88 red88 tỷ lệ nhà cái game nổ hũ game bài tỷ số trực tuyến https://qq88pro.vip/ Keonhacai5 23win 7m https://sc88.info/ luckywin hm88 23win 888slot sky88 sodo casino go8 https://fly88h.com/ VIN777 xoso66 kp88 sx88 vic88 SODO66 SODO red88 xx88.me.uk xoso66 https://kjcgaming.com/ nhà cái 33win SODO go88 https://sc88.bio/ SODO 12bet https://sc88.gold/ 88xx tg88 U888 TK88 King SODO66 58WIN AA88 3WIN 888VI NK88 Luck8 F168 nạp tiền qq88 https://cm88.uk.net/ Xoilac TV trực tiếp bóng đá tối nay bóng đá trực tiếp bóng đá trực tiếp cakhia tv F168 SH BET F168

©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