gpt4 book ai didi

javascript - 为什么 javascript 遍历元素但同时对所有元素执行 jQuery 函数?

转载 作者:行者123 更新时间:2023-11-30 15:12:36 24 4
gpt4 key购买 nike

我有一个文本“HELLO”,我想遍历每个字母并为其设置动画,使其淡入淡出。这是我的代码。

编辑:我将答案放在片段中以查看它的实际效果。

代码:

$(document).ready(function() {
var $letters = $('p[id^="letter-"');
$letters.each(function(index) {
$(this).css({
'animation': 'pulse 500ms ' + index * 500 + 'ms' + ' linear'
})
});
});
html,
body {
font-size: 45px;
}

p {
position: absolute;
left: 400px;
top: 100px;
color: rgba(0, 0, 0, 0);
}

@keyframes pulse {
0% {
color: rgba(0, 0, 0, 0);
}
25% {
color: rgba(0, 0, 0, 0.5);
}
50% {
color: rgba(0, 0, 0, 1);
}
75% {
color: rgba(0, 0, 0, 0.5);
}
100% {
color: rgba(0, 0, 0, 0);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id='letter-0'>H</p>
<p id='letter-1'>E</p>
<p id='letter-2'>L</p>
<p id='letter-3'>L</p>
<p id='letter-4'>O</p>

这是一个指向 pen 的链接.它不是一次一个字母地制作动画,而是一次为整个事物制作动画。如何解决这个问题?不应该一个循环完成所有命令的执行然后然后继续下一步吗?也许有一个我不知道的更好的方法?

最佳答案

animation-delay 与循环变量结合使用:

$(document).ready(function() {
for (var i = 0; i < 5; i++) {
$('#' + i).css({
'animation': 'pulse 0.5s linear',
'animation-delay': i + 's'
})
}
});
html,
body {
font-size: 45px;
}

p {
position: absolute;
left: 400px;
top: 100px;
color: rgba(0, 0, 0, 0);
}

@keyframes pulse {
0% {
color: rgba(0, 0, 0, 0);
}
25% {
color: rgba(0, 0, 0, 0.5);
}
50% {
color: rgba(0, 0, 0, 1);
}
75% {
color: rgba(0, 0, 0, 0.5);
}
100% {
color: rgba(0, 0, 0, 0);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id='0'>H</p>
<p id='1'>E</p>
<p id='2'>L</p>
<p id='3'>L</p>
<p id='4'>O</p>

关于javascript - 为什么 javascript 遍历元素但同时对所有元素执行 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44893774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com