javascript - 当文本有限时,jQuery隐藏显示更多按钮
问题描述
我正在尝试对文本使用“显示更多/显示更少”按钮来扩展和收缩长文本/段落。该代码似乎在各个方面都运行良好。唯一的一个缺陷是,即使文本有限(比如只有 1 行),我仍然可以看到显示更多按钮。如何设置仅在显示一定数量的行或文本(例如 3 行或 50 个字或任何此类可能的限制)时才出现按钮的条件。我无法弄清楚如何做到这一点,因为我在 jQuery 中不是那么好。因此,我在这里寻求解决方案。
Codepen:[ https://codepen.io/zoomkraft/pen/ZEELQXL ][1]
在上面的示例中,尝试删除将其限制为仅 1 或 2 行的段落。显示更多按钮仍会在不需要时显示,因为没有太多可扩展的文本。对于此类有限的文本,应该隐藏。
[1]: https://codepen.io/zoomkraft/pen/ZEELQXL
更新
HTML 位于 while 循环中。
<?php while($content = $contents->fetch()){ ?>
<div class="text-container">
<div class="content hideContent">
<p><?php echo $content['uc_desc']; ?></p>
</div>
<div class="show-more">
<span>Show more</span>
</div>
</div>
<?php } ?>
解决方案
您可以在显示选项中添加另一个类吗?像这样
<div class="show-more show-option">
<span>Show more</span>
</div>
然后直接在脚本标签中添加以下内容。
$('.content').each(function(key,value){
var lengthofContent = $(value).text();
if(lengthofContent.length < 200)
$(value).siblings('show-option').hide();
});
200 的值可以根据您想要的数字进行最佳配置。
推荐阅读
- php - Symfony / php:避免查询以提供嵌套的json对象从一对多关系
- terraform - 将现有作业 Rundeck 转换为 .tfstate
- amazon-web-services - AWS EC2 t3.micro 实例对于 Spring Boot 服务足够稳定
- winforms - 从 Windows 窗体应用程序向 Unity 发送消息
- postgresql - 如何优化 Postgres 中多个表(5000 万行)的联接和合并的运行时
- mongodb - 在 Azure Web App for Containers 中将 Mongodb 卷挂载到 Azure 文件
- jekyll - 无法在“nil”上使用 concat
- vb.net - 如何在 vb.net 或 c# 中将 DataTable[] 转换为 DataSet
- plugins - Tuleap 中的验证码
- javascript - 如何从函数 JavaScript 中返回结果值