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

Javascript JQuery如何使条件不只运行一次。,javascript,jquery,Javascript,Jquery,我对条件和它的触发有点问题。我的HTML中有两个对象(div和img),我正试图通过JS不断对齐它们。我的意思是,当窗口大小发生变化时,它们会重新对齐(因为一个窗口与中心对齐-不:),我也不能将第二个窗口与中心对齐,因为我还需要匹配大小,这肯定需要JS) 我制作了一个小函数来对齐它们并为其设置适当的尺寸,我在每个window.onresize事件(以及文档就绪事件)上触发该函数。但我发现,它不会在缩放动作时触发,而且它更适合我,不依赖window.onresize 所以我认为有可能写出这样的条件

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

我制作了一个小函数来对齐它们并为其设置适当的尺寸,我在每个window.onresize事件(以及文档就绪事件)上触发该函数。但我发现,它不会在缩放动作时触发,而且它更适合我,不依赖window.onresize

所以我认为有可能写出这样的条件

if(div.width()!=img.widt()){
//再做些匹配的事情
}

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


非常感谢。

您当然可以定义自己的自定义事件,并在事件发生时执行对齐代码,但您仍然需要一种在适当的时间触发事件的方法。 这只能发生在程序的普通执行流中(此处不是选项)或在某个现有事件的处理程序中:如果在触发条件发生时没有一致地触发这些事件,则只剩下计时器。 我很高兴在这件事上错了


作为
setInterval

if(div.width()!=img.width())
的替代方案,如果(div.width()!=img.width())可以设置一个带有相关代码的JSFIDLE吗?将它绑定到
resize
事件会让我受益匪浅。关于zoom,请看一看和。我忘记了“意义”这个词:“对我来说最有意义”;)谢谢你的链接。否则,我很可能不会在这里放一个jsfiddle(并不是说我想让你更难,或者不想对解决方案做出贡献,而是我正在为一个网络画廊编辑其他相当长的脚本,并用附加组件创建我自己的小.js。因此它会变得非常复杂,很难定位。谢谢你。老实说,我对js很陌生,所以我没有那么多知识,所以也许还有一个问题可以让我思考如何更轻松一点?JS脚本什么时候触发?我知道,它是基于“就绪、加载、调整大小”之类的东西,看起来像是基于浏览器的,然后是另一个组,它依赖于分配给HTML对象的事件,如“单击、悬停,…”这些都是事件处理程序?我做对了吗?当代码被触发时,还有其他实例吗?事件处理程序(或侦听器)是作为回调传递的函数,在事件触发时将被调用:在您的情况下,事件处理程序应该包含映像和div的代码。MDN上有一个标准和非标准事件的综合列表: