在循环功能后的最后一个列表项上停止
Stop on last list-item after cycle function
我有一个有序的列表,每个列表项都会循环显示,每次显示一个。淡入,然后延迟一段时间,然后淡出并以相同的方式显示下一个列表项。这一切都在起作用,但当到达最后一个列表项时,它会返回到起点并以连续循环的方式运行。以下代码:
$(function() {
var item = $('.test li').hide(),
i = 0;
(function cycle() {
item.eq(i).fadeIn(400).delay(2000).fadeOut(200, cycle);
i = ++i % item.length;
})();
});
我在item.eq(i).fadeIn(400)
行上方添加了if (i==10){return;}
,这阻止了列表项循环,但最后一个列表项没有显示,可能是因为它淡出了。如何阻止最后一个项目不显示。所以它会逐渐消失,这将是动画的结束?
干杯!
试试这个:
$(function() {
var item = $('.test li').hide(),
i = 0;
(function cycle() {
if(i==item.length-1){
item.eq(i).fadeIn(400);
return;
}
item.eq(i).fadeIn(400)
.delay(2000)
.fadeOut(200, cycle);
i = ++i % item.length;
})();
});
让我知道这是否有效。
只让它在i == 10
时淡出,然后返回?
(function cycle() {
if (i == 10)
{
item.eq(i).fadeIn(400);
return;
}
item.eq(i).fadeIn(400)
.delay(2000)
.fadeOut(200, cycle);
i = ++i % item.length;
})();
类似这样的东西:
var item = $('.test li').hide(),
i = 0;
(function cycle() {
var curr = item.eq(i).fadeIn(400);
if (i != item.length - 1) {
curr.delay(2000).fadeOut(200, cycle);
i = ++i % item.length;
}
})();
演示:http://jsfiddle.net/62zm9sa9/
相关文章:
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- Jquery幻灯片中的列表,连接第一个和最后一个列表元素以创建旋转木马
- 默认情况下,在 angularjs 中选择下拉列表中的最后一个位置显示占位符
- jQuery:隐藏按钮,直到选择最后一个下拉列表
- 打开的模型框从列表中获取最后一个值
- 从下拉列表中选择最后一个值,然后对其他下拉列表禁用它
- 如何获取从下拉列表中选择的最后一个值并使用 jquery 禁用它
- Bootstrap 3.0:如何使垂直导航栏下拉列表不附加到最后一个列表项
- 我想在下拉列表的最后一个选项被选中时提交表单.选项是动态生成的
- 在最后一个位置的下一个位置插入列表元素
- 试图从无序列表中获取最后一个元素
- 如何添加一个类列表,并且只在JavaScript中显示最后一个类
- 如何使用JSON-LD标记面包屑列表中的最后一个非链接项
- 在循环功能后的最后一个列表项上停止
- 最后一个列表项未切换
- JQuery从每个列表行克隆最后一个元素
- 如何使用javascript/jquery检测最后一个或第一个列表项是否显示在其容器中
- 动态列表的最后一个按钮并不总是用jQuery触发点击事件
- 如何将下拉列表中的最后一个选项设置为使用D3.js选择
- React -从列表中间删除最后一个元素