【发布时间】:2013-04-29 16:44:06
【问题描述】:
我正在设计一个字幕模块,在点击时显示/隐藏字幕。我想在动画完成后更改触发切换按钮的文本。
当存在一个按钮实例时,以下内容有效,但如果存在更多,则文本不会更改。 我对在 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>
希望能快速解释一下我做错了什么。谢谢!
【问题讨论】:
标签: jquery dom jquery-selectors