【发布时间】:2013-05-03 05:57:42
【问题描述】:
我遇到了解决以下 jQuery“问题”的问题:
以下代码退出四次。当var blk_img1_ready, var blk_imgX_ready 是1/true 时,我想执行一个功能。但前提是他们是true 在一起。完成的时间仍然未知。
(我搜索了trigger()和bind()但不是很明白,因为没有官方事件/触发器)
var elems1 = $('#balken1 .blk_img').find('*'), count1 = elems1.length;
elems1.each( function(i) {
blk_img1++;
$(this).attr('id','blk1-'+blk_img1);
if(blk_img1==1)
{
$(this).css('display','block');
}
if (!--count1) blk_img1_ready=1;
});
希望有人可以帮助我度过难关。 谢谢!
【问题讨论】:
-
问几个问题,我可以帮助你,你到底在检查什么?你的意思是你想在
.each()函数完成后触发一个事件? -
@Joe 没错。如果所有 (4 .each() ) 都准备好了,我想触发一个事件
-
.each()循环中显示的代码都是同步的, 这意味着在.each()完成之前,您在它之后放置的任何代码都不会运行。因此,如果您只是将四个循环一个接一个地放置,您可以在第四个循环之后立即调用您的另一个函数。你试过吗? -
@Joe 希望有别的东西,而不是在一个间隔内触发一个事件,如果所有变量都为真,则重置间隔。
-
是的,您可以使用
setInterval()来监控变量的值,但您不需要这样做,因为您没有显示任何异步代码。您使用.each()循环显示的代码是如何调用的?
标签: jquery variables triggers bind each