只要自定义过滤器功能匹配,我就想重复调用自定义函数。
用例:
// filter
function overflow() {
return this.clientHeight < this.scrollHeight;
}
// apply
$("article").filter(overflow).css_calc({fontSize: -1});
只要 过滤器匹配,jQuery中是否有通用方法来调用后续函数 ?或者有没有什么东西可以多次调用前面的函数? 以任何方式在jQuery函数链中循环?
或其他;你会如何编写类似.each_while()
组合的东西来做普通的.each(),但是只要说.filter()匹配,你就会对每个元素执行一个while()。
答案 0 :(得分:2)
使用setInterval
定期定期调用您的代码。
function update() {
$("article").filter(overflow).css_calc({fontSize: -1});
}
var timer = setInterval(update, 200); // update every 200ms
要清除更新,请致电
clearInterval(timer);
答案 1 :(得分:2)
我可能不完全理解您的问题,但我认为您可以使用简单的命令式编程来实现:
// filter
function overflow() {
return this.clientHeight < this.scrollHeight;
}
while($("article").filter(overflow).length > 0)
$("article").filter(overflow).css_calc({fontSize: -1});
尽管如此,一个更优雅的解决方案让我无法逃脱。