Reputation: 119
trying to set my text sections on a website (HTML, CSS & minimal javascript) to only show the first few lines of a paragraph then fade out with an option to view more. When the more button/text is clicked the section expands downwards showing the text in its entirety.
Here is an image which will hopefully explain what I am trying to do.
Thanks for any help!
Upvotes: 1
Views: 269
Reputation: 39322
$(function() {
$('.open-close').each(function() {
var item = $(this);
var slide = item.find('.slide').css({
'height': 100
});
var opener = item.find('.more');
var isSlideOpen = false;
var slideHeight = slide.find('.slide-content').innerHeight();
opener.click(function(e) {
e.preventDefault();
if(isSlideOpen) {
slide.stop(true).animate({
height: 100
}, function() {
isSlideOpen = false;
});
} else {
slide.stop(true).animate({
height: slideHeight
}, function() {
isSlideOpen = true;
});
}
});
});
});
html {
background: #000;
}
body {
line-height: 20px;
font-size: 14px;
margin: 0;
color: #fff;
}
.open-close {
padding: 10px;
}
.link-holder {
position: relative;
text-align: right;
padding: 10px 0 0;
z-index: 10;
}
.link-holder:before {
background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
position: absolute;
height: 80px;
content: '';
z-index: -1;
bottom: 20px;
right: 0;
left: 0;
}
.slide {
position: relative;
overflow: hidden;
z-index: 5;
}
.more {
text-decoration: none;
color: #cff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="open-close">
<div class="slide">
<div class="slide-content">
<p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
</div>
</div>
<div class="link-holder">
<a href="#" class="more">More</a>
</div>
</div>
Upvotes: 2