javascript for 循环不运行所有代码

标签 javascript jquery for-loop

所以我确实有这个循环,但是当它在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/

相关文章:

javascript - RxJS Debounce 优先级

javascript - 如何在 Web 应用程序中处理用户审核日志(或其他频繁的客户端操作)?

javascript - 在 css javascript 方法中使用变量

java - 打印一个 int 数组

用于计算循环执行的 Python 习惯用法

javascript - 解构一个属性为 "delete"的对象

jquery - 附加 jQuery 1.9.1 后按钮不起作用

javascript - 按按钮启动和停止简单时钟

javascript - javascript 自定义按钮中的确认框

for-loop - 为什么此代码卡住了并且不起作用(javascript)