所以我确实有这个循环,但是当它在effect之后运行时它就会停止,而且当我从循环中删除该代码并由我定义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,但这没有帮助。
最佳答案
试试这个...
function fade(x) {
$('#item' + x + ' p').fadeTo(350, 0, function() {
$(this).html(obchody[window.obchod][x]['doby_a_kontakty']).fadeTo(350, 1);
});
}
for (var x in obchody[window.obchod]) {
fade(x);
}
关于javascript for 循环不运行所有代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224790/