1

HTML

<div class="a">
    <div class="b">CLICK</div>
    <div class="c"></div>
</div>
<div class="a">
    <div class="b">CLICK</div>
    <div class="c"></div>
</div>
<div class="a">
    <div class="b">CLICK</div>
    <div class="c"></div>
</div>

jQuery

$('.c').hide();
$('.b').click(function(){
    $(this).next('.c').fadeToggle();

    if($('.b').eq(0).is(this)){
    $(this).toggleClass('yellow');
}
});

在线样本

我如何制作一次slideToggle完成然后开始toggleclass,就像第一个盒子一样,我希望它在 fadeToggle 完成后变为黄色

4

2 回答 2

3

您可以使用fadeToggle的回调函数:

工作演示:http: //jsfiddle.net/Kqc2B/

$('.b').click(function () {
    var that = this;
    $(this).next('.c').fadeToggle(function() {
        if ( $('.b').eq(0).is(that) ) {
            $(that).toggleClass('yellow');
        }
    });
});
于 2013-04-18T04:09:00.647 回答
1

您可以使用fadeToggle提供的完整回调选项,一旦动画完成,它将被调用

$('.c').hide();
$('.b').click(function(){
    var $this = $(this);
    $this.next('.c').fadeToggle(function(){
        if($('.b').eq(0).is($this)){
            $this.toggleClass('yellow');
        }
    });
});

演示:小提琴

于 2013-04-18T04:09:33.173 回答