1

所以我确实有这个循环,但是当它生效后它会停止,当我从循环中删除该代码并由我定义 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'),它运行但迟到了。这是一个示例,我添加了类似计数器的代码 - nuber(函数内的数字)。

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 但这无济于事。

4

1 回答 1

0

试试这个...

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);
}
于 2012-06-27T11:31:32.713 回答