使用 JQuery 循环数组
Loop over array with JQuery
我有一个小小组用Jquery迭代一个数组。我有一个数组,我希望数组中的每个项目都淡入和淡出(并在淡出时切换到下一个(。我可以让它循环适当的次数,但 for 循环总是显示最后一个变量,而不是按顺序显示每个变量。
var x = [1,2,3,4,5];
$("#test").text("test");
var y = 0;
for(var i = 0; i<x.length;i++){
$("#test").delay(1000).animate({opacity:'0'},function(){
$(this).text(i)
}).delay(1000).animate({opacity:'1'});
}
因此,这里所指的 p 标签以"文本"开头,然后闪烁"5"五次而不是计数。我以为延迟会起作用,但 for 循环完成并且不会等待 jquery 完成。
我想你也可以用$.each来实现这一点:
var x = [1,2,3,4,5];
$("#test").text("test");
$.each(x, function(i) {
$("#test").delay(1000).animate({opacity:'0'},function(){
$(this).text(x[i])
}).delay(1000).animate({opacity:'1'});
});
创建闭包
for (var i = 0; i < x.length; i++) {
$("#test").delay(1000).animate({ opacity: '0' }, (function(i) {
return function() { $(this).text(i); }
})(i)).delay(1000).animate({ opacity: '1' });
}
您正在创建一个自执行函数,该函数将i
存储在其上下文中,然后返回一个函数,该函数由于创建的闭包而也可以访问i
变量。
相关文章:
- javascript:数组循环
- 如何将数组循环到JSON代码中
- 而与数组循环
- JavaScript 数组/循环不起作用
- AJAX在数组循环中调用,只在上一次完成后调用next
- 数组循环以获取单个值
- JavaScript数组循环
- Javascript 2D数组循环停止
- 通过Javascript中的JSON数组循环
- 为什么以下 forEach 数组循环未返回未定义
- 如何在数组循环中过滤数据
- 如何在数组循环 222 中过滤数据
- 数组循环以确定范围平均值
- 对象的数组循环
- 对象键及其值的数组循环
- 虽然的缺点!未定义的数组循环
- 数组循环导致无限循环
- 数组循环 - 处理下拉列表中的空值
- 在 Node 中连接数组循环.js glob 结果
- JavaScript 图像数组循环