gpt4 book ai didi

javascript - 为什么 JavaScript 的 while 循环是无限的?

转载 作者:行者123 更新时间:2023-12-01 02:07:54 25 4
gpt4 key购买 nike

我讨厌这样做。这是结束一个大项目的一小部分,我的心已经炸了......

这是代码。它检查元素是否溢出并调整字体大小。它应该调整它的大小,直到它不溢出。循环的条件似乎被忽略,浏览器卡住...我觉得我错过了 jQuery 在这里工作的一些关键内容。

$.fn.fontBefitting = function() {
var _elm = $(this)[0];
var _hasScrollBar = false;
while ((_elm.clientHeight < _elm.scrollHeight) || (_elm.clientWidth < _elm.scrollWidth)) {
var fontSize = $(this).css('fontSize');
fontSize = parseInt(fontSize.substring(0,fontSize.length-2))*0.95;
$(this).css('fontSize',fontSize+'px');
}

}

提前致谢。

最佳答案

更改:

 fontSize = parseInt(fontSize.substring(0,fontSize.length-2))*0.95;

至:

 fontSize = parseInt(fontSize.substring(0,fontSize.length-2))-1;

这是一个Working Demo 。当字体大小达到 10px 时,10*.95 为 9.5,浏览器将其四舍五入为 10px。因此无限循环。

关于javascript - 为什么 JavaScript 的 while 循环是无限的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com