1

したがって、このループはありますが、 function after 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')、実行されますが遅くなります。ここに例を示します。カウンターのようなコードに追加しました-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)があります。

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 に答える