Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript forloop不';不要运行所有代码_Javascript_Jquery_For Loop - Fatal编程技术网

javascript forloop不';不要运行所有代码

javascript forloop不';不要运行所有代码,javascript,jquery,for-loop,Javascript,Jquery,For Loop,所以我有这个循环,但当它在后效中起作用时,它就停止了,同样当我从循环中删除代码并定义x时,它也能正常工作。什么是在效果之后停止该功能?另外,当我尝试不使用fadeTo并删除了后效函数,只是将其放在逗号($(“#item'+x+'p').html(obchody[window.obchod][x]['doby_a_kontakty'])后面时,它也起了作用(但出现了一些错误,在第一次循环后停止) 问题仍然存在,现在当我使用this而不是$(“#item'+x+'p')时,它运行得很晚。下面是一个示

所以我有这个循环,但当它在后效中起作用时,它就停止了,同样当我从循环中删除代码并定义x时,它也能正常工作。什么是在效果之后停止该功能?另外,当我尝试不使用fadeTo并删除了后效函数,只是将其放在逗号(
$(“#item'+x+'p').html(obchody[window.obchod][x]['doby_a_kontakty']
)后面时,它也起了作用(但出现了一些错误,在第一次循环后停止)

问题仍然存在,现在当我使用
this
而不是
$(“#item'+x+'p')
时,它运行得很晚。下面是一个示例,我在代码中添加了一些类似counter-number(函数中的数字)的内容

这个测试的结果是:y=
0(1(2)(3(4)(5(6(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);
}

首先,您不需要在回调函数中使用
$('#item'+x+'p')
,只需使用
$(此)
。其次,您可以将其放在小提琴中以便我们可以使用它吗?另外,
html(obchody[window.obchod][x][doby\u a\u kontakty'])
应该更改为
html(x['doby\u a\u kontakty']
。我不能用小提琴来思考这个问题,但是将
$(“#item'+x+'p')
改为
$(这个)
有效,所以谢谢:)但是不行,
html(x['doby\u a\u kontakty'])
不起作用,它必须是
obchody[window.obchod][x]['doby\u a\u kontakty'])
所以请添加你的解决方案作为单独的答案,并接受它:——-不要添加“已解决”标题不是这里的工作方式。如果与编辑后发布的公认答案不同,请解释您所做的工作。解释(针对OP)是:(a)如果可能,您应该使用
,而不是通过id再次选择同一元素,但更重要的是(b)当回调运行时,循环已完成执行,因此
x
将是循环结束时的状态,而不是该特定元素的状态。正如您所说,它的运行方式是y=
0(1(2(3)(4(5(6(7)7)7)7)
但是,我需要它像y=
0(0)1(1)2(2)3(3)4(4)5(5)6(6)7)7(7)一样运行)
如果你想让它进行1次淡入淡出,然后回调,然后进行下一次淡入淡出等。那么你需要解释什么是obchody和obchod。上面的修正不会这样做。我通过0(1(2(3)(4(5(6(7)6)5)4)3)2)1)0(只是运行相同的计数器,但是y-->
for(在obchody[window.obchod]中的变量x){var y=x;$('#项'+x+'p')fadeTo(350,0,function(){$(this).html(obchody[window.obchod][x-y]['doby_a_kontakty']).fadeTo(350,1);y--;})}
(格式化在这里不起作用)
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);
    });
}
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);
}