Javascript 根据窗口宽度修剪字符串,调整大小时出现问题

Javascript 根据窗口宽度修剪字符串,调整大小时出现问题,javascript,jquery,css,Javascript,Jquery,Css,我想减少使用javascript允许的字符数。它在加载时工作,但在调整大小时数字变为0。为什么呢?没有插件可以完成吗 注: 文本溢出属性在这里没有帮助,因为我需要更多行 不是背景图像的css攻击() 没有jquery插件 谢谢 函数trimWords(){//根据类别博客页面的宽度更改字数 var theString=$(“.trimmed words”).html();//字符串 var contentWidth=$(document).width();//获取浏览器的宽度 如果(内容宽度=

我想减少使用javascript允许的字符数。它在加载时工作,但在调整大小时数字变为0。为什么呢?没有插件可以完成吗

注:

文本溢出
属性在这里没有帮助,因为我需要更多行

不是背景图像的css攻击()

没有jquery插件

谢谢

函数trimWords(){//根据类别博客页面的宽度更改字数
var theString=$(“.trimmed words”).html();//字符串
var contentWidth=$(document).width();//获取浏览器的宽度
如果(内容宽度<600){
var maxLength=80//要提取的最大字符数
}
否则如果(contentWidth>=600&&contentWidth<1025){
var maxLength=400
}
else if(contentWidth>=1025&&contentWidth<1279){
var maxLength=40
}
否则如果(contentWidth>=1279){
var maxLength=75
}
//将字符串修剪到最大长度
var trimmedString=theString.substr(0,maxLength);
//重新修剪,如果我们在一个词的中间
trimmedString=trimmedString.substr(0,Math.min(trimmedString.length,trimmedString.lastIndexOf(“”));
$(“.trimmed words”).html(trimmedString);
}
trimWords();
$(窗口)。调整大小(trimWords)


Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset sheets的发布而流行,最近随着Aldus PageMaker等桌面发布软件的发布而流行,包括Lorem Ipsum的版本。

您使用的是修剪值,我看不到您存储原始字符串的任何地方。因此,每次触发调整大小例程时,您都在减少字符串。您应该在某个地方保留字符串的完整版本,并根据完整字符串(而不是更改的字符串)评估需要写入内容区域的内容。除此之外,您的代码应该可以正常工作。

您使用的是修剪后的值,我看不到您存储原始字符串的任何地方。因此,每次触发调整大小例程时,您都在减少字符串。您应该在某个地方保留字符串的完整版本,并根据完整字符串(而不是更改的字符串)评估需要写入内容区域的内容。除此之外,您的代码应该可以正常工作。

您使用的是修剪后的值,我看不到您存储原始字符串的任何地方。因此,每次触发调整大小例程时,您都在减少字符串。您应该在某个地方保留字符串的完整版本,并根据完整字符串(而不是更改的字符串)评估需要写入内容区域的内容。除此之外,您的代码应该可以正常工作。

您使用的是修剪后的值,我看不到您存储原始字符串的任何地方。因此,每次触发调整大小例程时,您都在减少字符串。您应该在某个地方保留字符串的完整版本,并根据完整字符串(而不是更改的字符串)评估需要写入内容区域的内容。除此之外,您的代码应该可以正常工作

 var theString = $(".trimmed-words").html(); //the string
应位于
trimWords()函数的外部

它在调整大小期间不起作用,因为字符串变为空

应位于
trimWords()函数的外部

它在调整大小期间不起作用,因为字符串变为空

应位于
trimWords()函数的外部

它在调整大小期间不起作用,因为字符串变为空

应位于
trimWords()函数的外部

它在调整大小期间不起作用,因为字符串变为空


您没有将原始值存储到字符串中。看看我的JS小提琴

var trimmedStringOriginal = $(".trimmed-words").html();
trimWords();
$(window).resize(trimWords)


加载时,我将字符串存储在变量中,然后在每次调整大小时引用该变量

您没有将原始值存储到字符串中。看看我的JS小提琴

var trimmedStringOriginal = $(".trimmed-words").html();
trimWords();
$(window).resize(trimWords)


加载时,我将字符串存储在变量中,然后在每次调整大小时引用该变量

您没有将原始值存储到字符串中。看看我的JS小提琴

var trimmedStringOriginal = $(".trimmed-words").html();
trimWords();
$(window).resize(trimWords)


加载时,我将字符串存储在变量中,然后在每次调整大小时引用该变量

您没有将原始值存储到字符串中。看看我的JS小提琴

var trimmedStringOriginal = $(".trimmed-words").html();
trimWords();
$(window).resize(trimWords)


加载时,我将字符串存储在变量中,然后在每次调整大小时引用该变量

maxLength
对于那些
如果
块是本地的。。。它曾经工作过吗?@tymeJV是的,它正在加载工作(它根据宽度加载正确数量的字符),但不在resizeTry上,在
if
块外部声明
maxLength
,然后在内部赋值(不要用
var
重新声明为什么使用
$(文档)。宽度()
当您需要获取浏览器/窗口的宽度时,请使用
$(窗口)。width()
代替
maxLength
是那些
块的本地值,如果
块,它是否工作过?@tymeJV是的,它正在加载工作(它根据宽度加载正确数量的字符),但不是在重定大小时,在
if
块外部声明
maxLength
,然后在内部赋值(不要用
var
重新声明为什么要使用
$(document).width()
,而您需要获取浏览器/窗口的宽度?使用