以下是一个简单的动态星空背景特效代码,使用了Canvas和requestAnimationFrame函数:

<!DOCTYPE html>
<html>
<head>
    <title>动态星空背景特效</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
        canvas {
            display: block;
        }
    </style>
</head>
<body>
    <canvas id="canvas"></canvas>
    <script>
        // 获取canvas元素和上下文
        var canvas = document.getElementById('canvas');
        var ctx = canvas.getContext('2d');

        // 设置canvas宽高
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;

        // 定义星星数量和大小范围
        var numStars = 100;
        var minSize = 1;
        var maxSize = 3;

        // 定义星星数组
        var stars = [];

        // 创建星星对象
        function createStar() {
            var star = {
                x: Math.random() * canvas.width,
                y: Math.random() * canvas.height,
                size: Math.random() * (maxSize - minSize) + minSize,
                speed: Math.random() * 0.1 + 0.05
            };
            return star;
        }

        // 初始化星星数组
        for (var i = 0; i < numStars; i++) {
            stars.push(createStar());
        }

        // 绘制星星
        function drawStar(star) {
            ctx.beginPath();
            ctx.arc(star.x, star.y, star.size, 0, Math.PI * 2);
            ctx.fillStyle = '#fff';
            ctx.fill();
        }

        // 更新星星位置
        function updateStar(star) {
            star.x -= star.speed;
            if (star.x < -star.size) {
                star.x = canvas.width + star.size;
                star.y = Math.random() * canvas.height;
            }
        }

        // 动画循环
        function animate() {
            // 清空画布
            ctx.clearRect(0, 0, canvas.width, canvas.height);

            // 绘制和更新星星
            for (var i = 0; i < numStars; i++) {
                drawStar(stars[i]);
                updateStar(stars[i]);
            }

            // 循环调用动画函数
            requestAnimationFrame(animate);
        }

        // 开始动画
        animate();
    </script>
</body>
</html>

这个代码会在页面中创建一个Canvas元素,并在其中绘制一些随机移动的白色圆点,模拟星空的效果。可以通过调整numStars、minSize和maxSize等参数来改变星星的数量和大小范围。