JQuery如何使条件不能只运行一次。

时间:2013-06-09 12:29:14

标签: javascript jquery

我对条件及其触发有一点问题。我的HTML(div和img)中有2个对象,我试图通过JS不断对齐。通常我的意思是,当窗口大小改变时,它们重新对齐(因为一个与中心对齐 - 而且没有:),我也不能将第二个对齐,因为我还需要匹配大小,肯定需要JS)。

我做了一个小函数,它将它们对齐并为它设置适当的尺寸,我在每个window.onresize事件(以及文档就绪)上触发该函数。但我发现,它不会触发缩放操作,除此之外我更不适合不依赖于window.onresize。

所以我认为写一个像

这样的条件是可行的

if (div.width() != img.widht()) { // do something to match it again }

但事实证明只在ready事件上运行这个条件(resp.load事件,因为我有一张图片)。所以我的问题是,如果有任何办法,那么条件就是连续地检查它的状态?我知道,我可以设置Interval来处理这个问题,但是a)我想,99%的所有执行都是毫无意义的b)除非我把它设置为非常快速的重复,否则它甚至不会修复div和img的不匹配问题。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您当然可以定义自己的自定义事件并在发生时执行对齐代码,但您仍需要在适当的时间触发事件。 这只能发生在程序的普通执行流程(这里不是一个选项)或现有事件之一的处理程序中:如果触发条件发生时没有一个事件被一直触发,那么你只剩下计时器。 我很高兴在这方面做错了。'。

requestAnimationFrame视为setInterval的替代方案。