gpt4 book ai didi

javascript - 虽然 Loop 无法正常工作 - 它有时会跳过

转载 作者:行者123 更新时间:2023-11-30 05:55:50 25 4
gpt4 key购买 nike

简单的 while 循环不能正常工作。我写了一个脚本来将文本限制为 3 行。这很简单。我检查元素 (div) 的高度是否高于 3 行(硬编码字体大小和行高),如果是,我删除最后一个词并添加省略号。我正在这样做,而字符串很快就足以容纳 3 行。

它是随机工作的,有时有效,有时无效。如果不起作用,我在第 4 行只有 1 个字。所以它只跳过最后一次迭代而不是每次都跳过。

$('div.prod-description').each(function(){
var obj = $(this);

if(obj.height() > 60) { // line-height: 18px;
var ellipses = '...';
var new_text = null;
while(obj.height() > 60) {
new_text = obj.text().slice(0, obj.text().lastIndexOf(' '));
obj.text(new_text+ellipses);
}
}
});

我尝试删除 if 语句,我尝试使用 do while 语句 但它是一样的。

编辑:我发现了问题!但不知道如何修复它。如果我在浏览器的地址栏上按下回车键,或者我从菜单中进入页面,它就可以正常工作。如果我使用 F5 刷新,它会跳过最后一次迭代。有什么想法吗?

最佳答案

在我幸运地发现脚本仅在使用 F5 刷新页面时无法正常工作之后,我找到了解决方案。 https://stackoverflow.com/a/8310308/1333512

要更正此问题,请使用:

$(window).load(function() {});

代替:

$(document).ready(function() {});

关于javascript - 虽然 Loop 无法正常工作 - 它有时会跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985756/

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