我正在设计一个标题模块,单击时显示/隐藏标题。我想在动画完成后更改触发切换按钮的文本。
当存在一个按钮实例时,以下内容有效,但如果存在更多,则文本不会更改。我对通过 DOM 的移动没有扎实的把握,如何使用$(this)
来定位活动按钮?
编辑:对于像我这样的其他初学者,请注意这是一个 JS 范围问题,而不是 DOM 问题。
JS:
$('.btn').click(function(){
$(this).siblings('.caption').animate({
height: 'toggle'
}, 200, function() {
// After animation is done:
if($('.btn').text() == 'Hide'){
$('.btn').text('Show');
} else {
$('.btn').text('Hide');
}
});
});
HTML:
<div class="container">
<ul class="slides">
<li>...</li>
</ul>
<div class="caption">
<p class="txt"><span class="details">...</span></p>
</div>
<div class="btn">
<p class="txt">Hide</p>
</div>
</div>
希望能快速解释我做错了什么。谢谢!