很难说出我的意思。假设这会在调整大小时激活。
for ( i = 10; i > 1; i--) {
console.log(i);
if(inner>outer) {
console.log('this' + i);
inn.css('font-size', i+'0%')
}
}
当满足 if 条件时,它使用获得的循环号来减小它的字体大小,但它使用最后一个循环号 2,即获得 20%。
有没有办法如果内部>外部使用第一个减量 10,如果内部仍然更大使用 9,如果仍然更大则使用 8 等等?
最佳答案
for()
语句的第三部分需要是一个表达式,它需要最终导致您的 for
条件失败,否则您将在无限循环中,但在其他方面肯定比简单的递增或递减操作更复杂。例如,您可以在那里使用函数调用。
也就是说,这将产生对大多数人来说非常难以阅读的代码,因为除了基本的增量器之外,使用任何东西都非常不常见。如果这是您想要的行为,您应该考虑一种不同形式的循环;您可能能够以更惯用/更清晰的方式获得您想要的结果。
但是如果你想使用一个for
循环,它可能看起来像这样:
for (var i=100; inner<=outer; i-=10) {
inn.css('font-size', i+'%');
// Some call here that updates 'inner' with the new size; unclear where you got that from originally
}
大多数人可能会为此使用 while
循环,但是 for
循环可以工作,只要 inner
或 outer
由 block 语句更改,以便循环最终退出。
关于javascript - 你可以使用 for 循环递减条件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47796321/