跟踪变化

时间:2013-01-16 18:12:16

标签: jquery watch

  

可能重复:
  Detecting when a div’s height changes using jQuery

我想知道是否有任何功能可用于跟踪元素的更改?我想跟踪元素的height,如果到达max-height,则addClass

按轨道我的意思是连续的,否则我只会写一个if语句。

2 个答案:

答案 0 :(得分:2)

如果您控制元素更改的发生方式(例如,因为您提供了进行这些更改的接口),您应该实现自己的回调系统,或者只要发生更改就运行一个函数。

如果您不控制它们,则必须定期监视元素并检查更改,包括setInterval或递归调用setTimeout。当您不再需要监视更改或元素变得不可用时,请记住清除间隔/中断超时循环。如果不这样做,回调中引用的任何对象都不会被垃圾回收。

答案 1 :(得分:1)

使用setInterval,如下所示:

var maxHeight = 0;
setInterval(function() {
    if($("#myelement").height() >= maxHeight) {
        // do stuff when div is too tall
    }
}, 50);