我网站上有一个关于问答的板块。如果我们点击问题标题(h3),则必须显示在该问题下隐藏的答案。
因此,在问题标题右侧,我们有向下箭头和向上箭头。正如你所理解的那样,当问题“关闭”时,必须出现向下箭头,而当问题“打开”时,则出现向上箭头。
因此,在问题标题右侧,我们有向下箭头和向上箭头。正如你所理解的那样,当问题“关闭”时,必须出现向下箭头,而当问题“打开”时,则出现向上箭头。
$("img.up").hide();
$(".question h3").click(function(){
var b = $(this);
var a = b.parent(".question").children(".answer");
a.slideToggle();
if(a.css('display') == 'block'){
b.children("img.down").hide();
b.children("img.up").show()
} else {
b.children("img.up").hide();
b.children("img.down").show()
};
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="question">
<h3>
А я могу ездить на Mercedes S-Class без прав?
<img src="img/icons/down.png" alt="" class="down">
<img src="img/icons/up.png" alt="" class="up">
</h3>
<div class="answer">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit aspernatur, consectetur amet mollitia quasi sint provident, totam ad facere quia cumque magnam quisquam culpa praesentium aperiam qui voluptatem maxime corporis.
</div>
</div>
代码在第一次点击时有效,忽略所有后续的点击。否则不起作用。我知道它很简单,但有时你做不了这么简单的事情。
<img>
标签并没有切换,因为slideToggle
不会改变div
的CSS的display
属性 - 它只会改变其高度。 - Chris Lear