javascript - 单击省略号时展开和缩小

标签 javascript

因此,我的一个小部件中有一个评论部分,我想将其合并为“在省略号上单击,展开和缩小文本”,但我遇到了一些针对以下内容的问题:

  1. 达到一定字数后切断
  2. 单词不与正文包裹在一起。

以下是当前评论的样子:

enter image description here

我的尝试看起来像这样

enter image description here

function RevealHiddenOverflow(d) {
  if (d.style.overflow == "hidden") {
    d.style.overflow = "visible";
  } else {
    d.style.overflow = "hidden";
  }
}
.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<section id="gallery">
  <div class="container">
    <div id="image-gallery">
      <div class="row">
        <div class="col-lg-3 col-md-6 col-sm-6 col-xs-12 image">
          <div class="img-wrapper">
            <p class="truncate" onclick="RevealHiddenOverflow(this)" style="text-align: center">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
              irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

最佳答案

您遇到的问题是 white-space: nowrap; 将其强制为一行。您可以像更改可见性一样更改它,或者更好的是,只需在单击时切换类即可删除/添加它。

function RevealHiddenOverflow(d) {
  d.classList.toggle("truncate")
}
.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<section id="gallery">
  <div class="container">
    <div id="image-gallery">
      <div class="row">
        <div class="col-lg-3 col-md-6 col-sm-6 col-xs-12 image">
          <div class="img-wrapper">
            <p class="truncate" onclick="RevealHiddenOverflow(this)" style="text-align: center">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
              irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

关于javascript - 单击省略号时展开和缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60059102/

相关文章:

javascript - 无法访问返回对象中的属性

javascript - 如何在 AngularJS 中访问在 promise 中声明的变量

javascript - 如何获取 jQuery DataTable 中的下一次数据加载

javascript - 为网站提供多个动画库(例如GSAP,animate.css,anime.js,滚动出)是一种惯例吗?

php -结果应该出现在同一页面中

javascript - firefox/edge 中的 HTML 自定义元素

javascript - 使用非常非常大的位标志(除了内存)有什么缺点吗?

javascript - 如何使用 subscribe 从函数返回值?

javascript - 在同一元素上使用 ngInclude 时,ngRepeat 的动画不起作用

javascript - 将鼠标悬停在固定的 HTML 元素上时防止 JQuery 可排序传播