【发布时间】:2016-10-03 13:28:30
【问题描述】:
我的脚本有点问题。我有基本的想法,但无法将其转化为代码。
这是它应该完成的任务:
我正在使用 Animate.CSS,我有以下列表:
<ul class="display" id="imagens-home">
<li class="invisivel"><img src="img/teste/lanche-1.jpg/></li>
<li class="invisivel"><img src="img/teste/lanche-2.jpg/></li>
<li class="invisivel"><img src="img/teste/lanche-3.jpg/></li>
<li class="invisivel"><img src="img/teste/lanche-4.jpg/></li>
</ul>
我想制作一个脚本:
- 从项目中删除 .invisivel (display:none) 类;
- 向其中添加 .fadeInLeft 类;
- 保持可见约三秒钟;
- 将 .fadeInLeft 替换为 .zoomOut;
- 再次隐藏元素;
- 重复列表中的下一项;
我设法找到一种方法来启用 FadeIn 动画,然后在它结束后,启用 FadeOut 并使 div 再次不可见,使用以下代码:
$(document).ready(function() {
var animationIn = 'animated fadeInLeft';
var animationOut = 'animated zoomOut';
var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
$('#imagens-home>li').each(function(){
$(this).removeClass('invisivel').addClass(animationIn).on(animationEnd, function(){
$(this).removeClass(animationIn).addClass(animationOut).on(animationEnd, function(){
$(this).removeClass(animationOut).addClass('invisivel')
});
});
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="display" id="imagens-home">
<li class="invisivel">0</li>
<li class="invisivel">1</li>
<li class="invisivel">2</li>
<li class="invisivel">3</li>
</ul>
但我找不到让它循环遍历列表项的方法。任何帮助将不胜感激
【问题讨论】:
-
我不明白这个问题。您正在遍历列表项,正在发生的事情和尚未发生的事情是什么?你能创建一个 jsfiddle 示例吗?
-
@Aschab 或点击 SO 编辑器中的
<>
标签: javascript jquery css list loops