javascript - 如何使用 Jquery 从 Button 切换阅读更多内容?
问题描述
我有这个文本,我想用 Jquery 切换。
<div class="section-right">
<h1>
about us
</h1>
<h2>
real fitness depends on excercise.
</h2>
<div class="detail-text" data-simplebar data-simplebar-auto-hide="false">
<p class="more">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
</p>
</div>
<button class="myButton readMore">
<span>
More About
</span>
<div><img src="assets/images/rightArrow.png" alt="arrow"></div>
</button>
</div>
标签中的那个more
类是. 我正在使用 jquery 将文本裁剪为有限数量的单词。p
display: hidden
// Readmore Text
var showChar = 100;
$('.more').each(function () {
var content = $(this).html();
if (content.length > showChar) {
var c = content.substr(0, showChar);
var h = content.substr(showChar, content.length - showChar);
var html = c + '<span class="moreellipses">' + "..." + ' </span><span class="morecontent"><span>' + h + '</span> </span>';
$(this).html(html);
}
});
$(".readMore").click(function () {
// $(this).prev('.detail-text p').slideToggle(500);
// $(this).prev('.detail-text p').toggleClass('more');
});
我的逻辑是切换按钮兄弟more
的类。readmore
如何使用不是直接兄弟的按钮切换上方的文本?
解决方案
我认为这对你有用:
// Readmore Text
var showChar = 100;
$('.more').each(function () {
var content = $(this).html();
if (content.length > showChar) {
var c = content.substr(0, showChar);
var h = content.substr(showChar, content.length - showChar);
var html = c + '<span class="moreellipses">' + "..." + ' </span><span class="morecontent">' + h + '<span></span> </span>';
$(this).html(html);
}
});
$(".readMore").click(function () {
$(this).siblings('.detail-text').children('p').toggleClass('more');
});
p span.moreellipses{
display: none;
}
p.more span.moreellipses{
display: inline;
}
.more span.morecontent{
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="section-right">
<h1>
about us
</h1>
<h2>
real fitness depends on excercise.
</h2>
<div class="detail-text" data-simplebar data-simplebar-auto-hide="false">
<p class="more">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod, Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
</p>
</div>
<button class="myButton readMore">
<span>
More About
</span>
<div><img src="assets/images/rightArrow.png" alt="arrow"></div>
</button>
</div>
推荐阅读
- javascript - 元素创建前的 querySelector
- python - Ubuntu16无法安装pyheif
- google-apps-script - 如何将文本框值从应用程序发明者转移到谷歌表格网络应用程序
- java - 调试:如何删除字符串中连续出现的字符?
- tableau-api - 在 Tableau Desktop 中加入两个工作表以制作一个
- c++ - C++ 条件变量与向量化的新线程
- c - 在 C 中将 int64_t 转换为字符串
- python-3.x - 无法在 Pypandoc 中读取文件
- javascript - 标题和主菜单覆盖内容如何修复?
- python - 用python从类中绘制树形图的简单方法?