JS字符串长度判断,超出进行自动截取的实例,盒子宽度不定
时间: 2023-07-12 07:21:54 浏览: 69
可以通过 JavaScript 获取盒子的实际宽度,然后计算字符串的长度,如果字符串的长度超过了盒子的宽度,就进行截取。可以使用以下代码实现:
HTML 代码:
```html
<div id="box">这是一个盒子</div>
```
CSS 代码:
```css
#box {
width: auto; /* 盒子宽度不定 */
height: 30px;
overflow: hidden; /* 超出部分隐藏 */
text-overflow: ellipsis; /* 超出部分显示省略号 */
white-space: nowrap; /* 不换行 */
}
```
JavaScript 代码:
```javascript
var box = document.getElementById("box");
var maxWidth = box.offsetWidth; // 获取盒子的宽度
var str = "这是一个很长的字符串,可能会超出盒子的宽度,需要进行截取。";
if (str.length * 14 > maxWidth) { // 14 是每个字符的平均宽度
var newStr = str.slice(0, Math.floor(maxWidth / 14)) + "..."; // 计算截取的长度
box.innerHTML = newStr; // 设置盒子的内容
}
```
上述代码中,使用了 `offsetWidth` 属性获取盒子的实际宽度,然后乘以每个字符的平均宽度(这里假设每个字符的宽度为 14px)计算字符串的长度,如果字符串的长度超过了盒子的宽度,就进行截取,并在末尾添加省略号。最后,使用 `innerHTML` 属性设置盒子的内容。