
<!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/
本站文章除注明[转载|引用|原文]出处外,均为本站原生内容,转载前请注明出处
用做测试
可以的
正是我所需要的
这个真不错啊
咿呀
这个案例不错,可以拿来用一下