我有一个“post”类的 div,里面有一堆没有指定高度的文本。
.post {
width: 100%;
margin: 0 0 2% 0;
background-color: #AAA;
overflow: hidden;
}
使用 jQuery,我想最初添加第二个类“postLess”,指定高度为 300 像素。因此隐藏了部分文本。
.postLess {
height: 300px;
}
单击“阅读更多”按钮时,我想删除“postLess”并添加“postMore”,以便将高度设置为“auto”并显示全文。
.postMore {
height: auto;
}
然后我当然希望它在第二次单击按钮时删除类“postMore”并添加回类“postLess”。这是我的 jQuery。我究竟做错了什么?
$('.post').addClass('postLess');
$('.readMore').click(function() {
if ($('.post').hasClass('postLess')) {
$('.post').removeClass('postLess').addClass('postMore');
}
else if ($('.post').hasClass('postMore')) {
$('.post').removeClass('postMore').addClass('postLess');
}
});
这是我的 HTML 的重要部分,一直到前两个“.post”
<!DOCTYPE html>
<html lang="en">
<head>
<title>Switchback</title>
<link href="css/styles.css" type="text/css" rel="stylesheet">
<script src="js/jquery-1.9.0.min.js" type="text/javascript"></script>
</head>
<body>
<header>
</header>
<div id="content">
<div id="sidebar">
<p>
Ut neque tellus, dapibus bibendum tempor quis, gravida vitae nisl. Pellentesque erat elit, ullamcorper in accumsan id, ullamcorper in lectus. Nullam nec augue
</p>
<p>
Nunc facilisis lacus vel enim fringilla consequat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Curabitur vitae sem mauris.
</p>
</div> <!-- end div id="sidebar" -->
<div id="posts">
<div class="post">
<div class="postImg" style="background-image: url('img/pic1.png');">
</div>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse purus lorem, viverra sed blandit non, vulputate in sem. Donec laoreet turpis id lectus
<a href="javascript:;" class="readMore">read more »</a>
</p>
</div>
<div class="post">
<div class="postImg" style="background-image: url('img/pic2.png');">
</div>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec felis
</p>
<p>
Sed ornare, velit ac dignissim lacinia, dui mauris suscipit enim, quis viverra metus elit id quam. Sed quis tellus nulla. Nam pulvinar ante at felis lobortis eleifend.
<a href="#" class="readMore">read more »</a>
</p>
</div>