很难说出我的意思。让我们说这会在调整大小时激活。
for ( i = 10; i > 1; i--) {
console.log(i);
if(inner>outer) {
console.log('this' + i);
inn.css('font-size', i+'0%')
}
}
当满足条件时,它使用获得的循环数来减少它的字体大小,但它使用最后一个循环数,即2,得到20%。
如果内部>外部使用第一个减量10,如果内部仍然更大使用9,如果仍然更大8等,有没有办法?
答案 0 :(得分:1)
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
循环就可以正常工作声明,以便循环最终退出。