javascript - 如何在特定行号之后剪切字符串?

标签 javascript angularjs string

我有一个字符串 - 项目描述(作为对象的一部分)来自用户表单提交,显示在报告页面上。如果行号超过24,我想在新页面上显示字符串的其余部分。我最初的想法是根据字符来剪切它,但这不能精确地完成,就像提交表单时进行换行一样,无法计算字符,因为我们不知道是否换行是在行的中间或末尾或任何地方进行的。我不知道有什么办法可以解决?

如何根据行数剪切字符串?

这是我到目前为止所做的:

function countLines (el) {
    let projectDetails = $rootScope.report.description;
    var el = document.getElementById(el);
    var divHeight = el.offsetHeight
    var lines = divHeight / 17;
    //console.log("Lines counted: " + lines);
    if(lines > 24) {
        $scope.secondDescriptionPage = true;
        $scope.projectDetailsTextFirstPart = // this should be calculated
        //$scope.projectDetailsTextSecondPart =  // this should be calculated )
    }
}

最佳答案

使用 -webkit-line-clamp CSS 属性,您可以将文本剪切一定数量的行。请参阅MDN了解详情。但它在 IE11 中不起作用。

关于javascript - 如何在特定行号之后剪切字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60210309/

相关文章:

javascript - nuxt 项目 onvercel 中的 process.env.URL null

javascript - Terser 不提供缩小文件

angularjs - 为什么 Angular $resource 返回一个 Resource 对象而不是类对象?

javascript - doc.addEventListener 不是一个函数

python - 无法将字符串转换为 float

c++ - 字符串作为常量的效率?

javascript - Angular 2 中的时间倒计时

javascript - 如果我让所有数据对所有 Controller 可用,我会遇到什么问题?

javascript - 如何使用 JavaScript (lodash) 深度映射对象键?

java - String 中的 4 个子字符串