Reputation: 33
I am very new to jQuery
and also for web design.
Here is the code
http://codepen.io/anon/pen/rxvCe
I got few examples to help me out but they were not exactly what I was looking for.
What I want is.
HTML
<div class="readMoreCnt">
<div class="row">
<div class="span3">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<a href="" class="readMore">Read More</a>
</div>
<div class="span3">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<a href="" class="readMore">Read More</a>
</div>
<div class="span3">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet,</p>
<a href="" class="readMore">Read More</a>
</div>
</div>
<div class="row">
<div class="span3">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<a href="" class="readMore">Read More</a>
</div>
<div class="span3">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor </p>
<a href="" class="readMore">Read More</a>
</div>
<div class="span3">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<a href="" class="readMore">Read More</a>
</div>
</div>
</div>
CSS
.readMoreCnt p {
height: 145px;
overflow: hidden;
margin-top: 20px;
}
I am not able to know how can I show a content which is already present.
I can do slideUp
and slideDown
but it can not work as its already shown.
Upvotes: 3
Views: 150
Reputation: 4418
Here is the DEMO.
You need to add few more div's and get the height for child and apply it to parent.
JQUERY
/*To hide read more if content is less*/
$('.inCnt').each(function(){
if ($(this).height() <= 145) {
$(this).parent('.inner').next('.readMore').hide()
}
})
$('.readMore').click(function(){
var cntHeight = $(this).parent('.span3').find('.inCnt').height();
if ($(this).hasClass('active')) {
$('.readMore').removeClass('active').html('Read More');
$('.inner').animate({
maxHeight: '145px'
});
} else {
$('.readMore').removeClass('active').html('Read More');
$('.inner').animate({
maxHeight: '145px'
});
$(this).prev('.inner').animate({
maxHeight: cntHeight
}, function(){
$(this).next('.readMore').addClass('active').html('Read Less');
});
}
return false;
});
Upvotes: 1
Reputation: 7288
For that purpose you can use jQuery.animate, like below..
$(".readMore").click(function(){
if($(this).siblings("p").css("height") == "50px"){
$(this).siblings("p").animate({
height: "+=50"
}, 200);
}
else{
$(this).siblings("p").animate({
height: "-=50"
}, 200);
}
});
Check out this Fiddle..
NOTE: I change your default height from 145px to 50px..
Upvotes: 0