我在一行中有一个文本(空白:nowrap)。 如果宽度大于父块的宽度,我想减小此文本的字体大小。为什么while循环不起作用?
我使用while循环。为什么它不起作用? “elemWidth”的宽度没有更新,循环和循环冻结?
$('.slider__title-wrap').each(function(){
var width = $(this).width();
var fontSize = 50;
var elem = $(this).find('.slider__title');
var elemWidth = elem.width();
while(elemWidth >= width) {
fontSize = Math.floor(fontSize * 0.96);
elem.css({fontSize: fontSize+'px'});
};
})
你似乎没有被改变或者'elemWidth'或'width'里面的'而'循环。所以它要么永远不会开始,要么永远不会结束。 – Blazemonger
这里你不需要'while'。您需要一个主动侦听器来改变大小 – karthikr
当减小elemWidth的字体大小时,宽度会发生变化(内嵌块),但是在循环宽度中不会更改,为什么? – jydralaro