javascript - 如何使用文本预览在 html/css/js 中创建可扩展的博客文章

标签 javascript html css

<div class="blog-post">

     <h2>My second blog post</h2>
     <p><em>November 21, 2018</em></p><br>

     <p>Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam. Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam.</p>

</div>

<div class="blog-post">

     <h2>My first blog post</h2>
     <p><em>November 14, 2018</em></p><br>

     <p>Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam. Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam.</p>

</div>

我想让博文的文本在底部淡出,然后点击展开以获得博文的整个高度。

最佳答案

$('.blog-post__read-more').on('click', function(e) {
    e.preventDefault();
    var $moreText = $(this).siblings('.blog-post__text').find('.blog-post__expandable-text--visually-hidden');
    if ($moreText.length) {
        $moreText.removeClass('blog-post__expandable-text--visually-hidden').addClass('blog-post__expandable-text');
    }
});
.blog-post__expandable-text--visually-hidden {
    /* https://gist.github.com/marcol/3979586 */
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	padding:0 !important;
	border:0 !important;
	height: 1px !important; 
	width: 1px !important; 
	overflow: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="blog-post">

     <h2>My second blog post</h2>
     <p><em>November 21, 2018</em></p><br>

     <p class="blog-post__text">
         Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos.
         <span class="blog-post__expandable-text--visually-hidden">Nulla debet fastidii vim ei, at verterem accommodare eam. Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam.</span>
     </p>
     <a href="#" class="blog-post__read-more">Read more</a>

</div>

<div class="blog-post">

     <h2>My first blog post</h2>
     <p><em>November 14, 2018</em></p><br>

     <p class="blog-post__text">
         Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. 
         <span class="blog-post__expandable-text--visually-hidden">Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam. Reque augue meliore ei pro, lorem volumus ocurreret eu per. No solum errem laoreet vel, his vero dicam et, ius volutpat assueverit ad. Ei partem eirmod propriae eos. Nulla debet fastidii vim ei, at verterem accommodare eam.</span>
     </p>
     <a href="#" class="blog-post__read-more">Read more</a>

</div>

借助 jQuery 的简单解决方案。可扩展部分有一个类使其在视觉上隐藏。然后单击功能将其删除。

关于javascript - 如何使用文本预览在 html/css/js 中创建可扩展的博客文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53416541/

相关文章:

javascript - 固定 Facebook 页面点赞按钮

javascript - MapReduce 函数 MongoDB NodeJs

ios - 如何关闭 iOS 中 HTML 表单字段的自动大写?

html - 用于 puppeteer 操作的 C# API

html - 如何在 View /索引上构建带导轨的勾选框

javascript - 可以预加载使用 canLoad 的模块吗?

javascript - jQuery UI Slider - 仅在处理程序/ slider /标记之间更改背景颜色

html - 如何让 flex 容器占用其元素的空间?

html - 页面滚动部分没有背景

css - 使用 css 将表格标题与表格数据对齐