【发布时间】:2012-06-28 00:32:10
【问题描述】:
所以我确实有这个循环,但是当它生效后它会停止,当我从循环中删除该代码并由我定义 x 时,它确实可以正常工作。什么是在效果后停止该功能?此外,当我尝试不使用fadeTo 并删除该函数后生效并将其放在逗号后面($('#item' + x + ' p').html(obchody[window.obchod][x]['doby_a_kontakty'])时,它也可以工作(但出现一些错误并在第一次循环后停止)。
for (var x in obchody[window.obchod]) {
$('#item' + x + ' p').fadeTo(350, 0, function () {
$('#item' + x + ' p').html(obchody[window.obchod][x]['doby_a_kontakty']).fadeTo(350, 1);
});
}
问题仍然存在,现在当我使用this 而不是$('#item' + x + ' p') 时,它运行但迟到了。这是一个示例,我在代码中添加了类似 counter - nuber(number inside function) 的代码。
y = '';
for (var x in obchody[window.obchod]) {
y += ' ' + x + '(';
$('#item' + x + ' p').fadeTo(350, 0, function () {
y += x + ')';
$(this).html(obchody[window.obchod][x]['doby_a_kontakty'] + y).fadeTo(350, 1);
});
}
这个测试的结果是:y==0( 1( 2( 3( 4( 5( 6( 7(7)7)7)7)7)7)7)7),我需要它像 y==0(0) 1(1) 2(2) 3(3) 4(4) 5(5) 6(6) 7(7) 一样运行,因为我不能在其中使用 x,但这无济于事。
【问题讨论】:
-
首先,您不需要在回调函数中使用
$('#item' + x + ' p')- 只需使用$(this)。其次,你能把它放在一个小提琴里,这样我们就可以玩了吗?此外,html(obchody[window.obchod][x]['doby_a_kontakty'])应更改为html(x['doby_a_kontakty'])。 -
我不明白这个想法,但将
$('#item' + x + ' p')更改为$(this)有效,所以谢谢:) 但不,html(x['doby_a_kontakty'])不起作用,它必须是@ 987654335@ -
所以请将您的解决方案添加为单独的答案并接受它:-)
-
不要在标题中添加“已解决”,这不是这里的工作方式。相反,如果它与您编辑后发布的公认答案不同,请解释您所做的事情。
标签: javascript jquery for-loop