<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery波浪文字动画特效</title>
<style>
body {
background-color: #222;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
font-family: 'Arial', sans-serif;
overflow: hidden;
}
.wave-text {
font-size: 60px;
font-weight: bold;
color: #fff;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
display: inline-block;
}
.wave-text span {
display: inline-block;
position: relative;
}
.credit {
position: absolute;
bottom: 20px;
right: 20px;
color: #666;
font-size: 12px;
}
/* 插入的链接样式 */
.inserted-link {
color: #4CAF50;
text-decoration: none;
font-size: 14px;
position: absolute;
top: 20px;
right: 20px;
}
</style>
</head>
<body>
<div class="wave-text" id="waveText">波浪文字动画特效</div>
<div class="credit">jQuery波浪文字效果</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
// 将文本拆分为单个字符
var text = $('#waveText').text();
$('#waveText').empty();
for (var i = 0; i < text.length; i++) {
var char = text.charAt(i);
if (char === ' ') {
char = ' ';
}
$('#waveText').append('<span>' + char + '</span>');
}
// 为每个字符添加波浪动画
$('#waveText span').each(function(index) {
$(this).css({
'animation': 'wave 2s ease-in-out infinite',
'animation-delay': (index * 0.1) + 's'
});
});
// 动态添加CSS关键帧
var style = document.createElement('style');
style.type = 'text/css';
var keyFrames = '\
@keyframes wave {\
0%, 100% { transform: translateY(0) rotate(0deg); }\
25% { transform: translateY(-20px) rotate(5deg); }\
50% { transform: translateY(0) rotate(0deg); }\
75% { transform: translateY(10px) rotate(-5deg); }\
}';
style.innerHTML = keyFrames;
document.getElementsByTagName('head')[0].appendChild(style);
});
</script>
</body>
</html>
jQuery实现波浪文字动画特效
397

被折叠的 条评论
为什么被折叠?



