网页实现海水纹波水面波浪动画效果
移动鼠标即可查看水波纹,使用鼠标点击也可以实现水波纹效果,背景图可以根据需求自己替换,background: url("./images/ocean.jpg");替换成自己想要的背景图即可。后面的值可根据自己需求调整效果。案例中引入了一个jQuery 库和jquery.ripples 插件。
4361aaff28949a88ed403765a04ff93.png




<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>水波纹特效演示</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Microsoft YaHei", sans-serif;
        }
        
        body {
            width: 100%%;
            height: 100vh;
            overflow: hidden;
            background-color: #000;
            background: url("./images/ocean.jpg");
            background-size: cover;
            background-position: center;
            position: relative;
        }
        
        .info {
            position: absolute;
            top: 20px;
            left: 20px;
            color: white;
            background: rgba(0, 0, 0, 0.5);
            padding: 10px 20px;
            border-radius: 5px;
            font-size: 16px;
            z-index: 10;
        }
        
        /* jquery.ripples 插件的基础样式 */
        .jquery-ripples { 
            position: relative; 
            z-index: 0; 
        }
        
        .instruction {
            position: absolute;
            top: 20px;
            left: 20px;
            color: white;
            background: rgba(0, 0, 0, 0.5);
            padding: 10px 20px;
            border-radius: 5px;
            font-size: 16px;
            z-index: 10;
        }
    </style>
    <!-- 引入本地 jQuery 库 -->
    <script src="./js/jquery-3.6.0.min.js"></script>
    <!-- 引入本地 jquery.ripples 插件 -->
    <script src="./js/jquery.ripples.min.js"></script>
</head>
<body>
    <div class="instruction">移动鼠标或点击屏幕查看水波纹效果</div>
    
    <script>
        $(document).ready(function() {
            try {
                // 水波纹效果
                $('body').ripples({
                    resolution: 512, // 水波纹分辨率
                    dropRadius: 20, // 水滴半径
                    perturbance: 0.04, // 水波纹扰动强度
                    interactive: true, // 确保交互性开启
                    crossOrigin: '' // 处理跨域问题
                });
                
                // 点击时产生更大的水波纹
                $(document).on('click', function(e) {
                    var $ripples = $('body');
                    var x = e.pageX - $ripples.offset().left;
                    var y = e.pageY - $ripples.offset().top;
                    $ripples.ripples('drop', x, y, 30, 0.05); // 更大的水滴和更强的扰动
                });
                
                // 添加错误处理
                console.log("水波纹效果已初始化");
            } catch (error) {
                console.error("水波纹效果初始化失败:", error);
                alert("水波纹效果初始化失败,可能是您的浏览器不支持WebGL。错误信息: " + error.message);
            }
            
            // 每3秒随机水波纹,增强视觉效果
            setInterval(function() {
                var $ripples = $('body');
                var width = $ripples.width();
                var height = $ripples.height();
                var x = Math.random() * width;
                var y = Math.random() * height;
                $ripples.ripples('drop', x, y, 20, 0.03);
            }, 3000);
        });
    </script>
</body>
</html>

本文最后更新时间 2025-06-01
文章链接地址:
https://xzlo.blog/index.php/archives/38/
本站文章除注明[转载|引用|原文]出处外,均为本站原生内容,转载前请注明出处

留言列表(6条)

头像 千山万水
China ·Guangzhou · China Unicom 2025-06-29 21:01

用做测试

头像 youyoudo
China ·Guangzhou · China Unicom 2025-05-26 07:27

可以的

头像 youyoudo
China ·Guangzhou · China Unicom 2025-05-26 06:53

正是我所需要的

头像 youyoudo
China ·Guangzhou · China Unicom 2025-05-26 01:40

这个真不错啊

头像 youyoudo
China ·Guangzhou · China Unicom 2025-05-25 23:56

咿呀

头像 不知道取什么名字
China ·Guangzhou · China Unicom 2025-05-24 23:25

这个案例不错,可以拿来用一下

留言