我想知道是否有任何功能可用于跟踪元素的更改?我想跟踪元素的height
,如果到达max-height
,则addClass
。
按轨道我的意思是连续的,否则我只会写一个if语句。
答案 0 :(得分:2)
如果您控制元素更改的发生方式(例如,因为您提供了进行这些更改的接口),您应该实现自己的回调系统,或者只要发生更改就运行一个函数。
如果您不控制它们,则必须定期监视元素并检查更改,包括setInterval
或递归调用setTimeout
。当您不再需要监视更改或元素变得不可用时,请记住清除间隔/中断超时循环。如果不这样做,回调中引用的任何对象都不会被垃圾回收。
答案 1 :(得分:1)
使用setInterval
,如下所示:
var maxHeight = 0;
setInterval(function() {
if($("#myelement").height() >= maxHeight) {
// do stuff when div is too tall
}
}, 50);