При нажатии кнопки я хотел бы, чтобы текст переключался и говорил «читать больше» или «читать меньше». Если я нажму другую кнопку, я бы хотел, чтобы предыдущая кнопка вернулась к исходному тексту «читать дальше».
HTML:
<div class="accordion">
<div class="abtn">
<input id="A-1" type="radio" value="A">
<label class="chars" for="A-1">A</label>
<div class="char-more">Learn More</div>
</div>
<div class="acontent">Hello I am content A</div>
<div class="abtn">
<input id="B-1" type="radio" value="B">
<label class="chars" for="B-1">B</label>
<div class="char-more">Learn More</div>
</div>
<div class="acontent">Hello I am content B</div>
<div class="abtn">
<input id="C-1" type="radio" value="C">
<label class="chars" for="C-1">C</label>
<div class="char-more">Learn More</div>
</div>
<div class="acontent">Hello I am content B</div>
</div>
jQuery:
$(".abtn .char-more").click(function(){
$(this).closest('.abtn').nextAll(".acontent").first().slideToggle("fast")
.siblings(".acontent:visible").slideUp('fast');
$(this).html("Read Less");
$(this).siblings(".char-more").html("Read More");
});
char-more
не являются братьями и сестрами друг другу. Предложение - заключить пары "кнопка/контент" в оболочку и использоватьfind()
внутри оболочки. Активный класс при нажатии кнопки позволяет легко найти предыдущий, чтобы отменить его. - person charlietfl   schedule 02.11.2012