jQuery slideToggle回调函数和toggleclass

时间:2013-04-18 04:06:03

标签: javascript jquery

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');
}
});

ONLINE SAMPLE

我如何制作一次slideToggle然后开始toggleclass,就像第一个方框一样,我希望一旦fadeToggle结束就变成黄色

2 个答案:

答案 0 :(得分: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');
        }
    });
});

答案 1 :(得分:1)

您可以使用fadeToggle提供的完整回调选项,动画完成后会调用它

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

演示:Fiddle