jQuery切换延迟以及类和淡入淡出

时间:2015-07-09 06:30:01

标签: javascript jquery html css toggle

所以我有以下代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/foo.mp3", [[NSBundle mainBundle] resourcePath]]];

    NSError *error;
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"message" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    audioPlayer.numberOfLoops = 1;
    [audioPlayer play];
    [alert show]; 
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex==0) {
        [audioPlayer stop];

    }
}

当它应用$('[data-hook="chat"]').click(function () { $('[data-hook="case"]').toggleClass('col-sm-12 col-sm-9'); $('.chat').delay(500).fadeToggle('slow'); }); 类然后淡入聊天时,它的效果非常好(注意这是col-sm-9元素上的CSS宽度转换,因此jQuery上的col-sm-12延迟500ms)。我的问题是,我是否可以彻底改变这种情况,以便在淡出和重新应用fadeToggle()时,延迟适用于col-sm-12toggleClass()是即时的?

干杯, 奥蒂斯。

2 个答案:

答案 0 :(得分:1)

什么阻止你做相反的事情?

$('[data-hook="case"]').delay(500).toggleClass('col-sm-12 col-sm-9');
$('.chat').fadeToggle('slow');

答案 1 :(得分:1)

请参阅fadeToggle()说明,然后您就可以这样做:

$('.chat').fadeToggle('slow', 'swing', function() {
    $('[data-hook="case"]').delay(500).toggleClass('col-sm-12 col-sm-9');
});

<强>更新
您可以使用toggle()

$('[data-hook="chat"]').toggle(function() {
    $('[data-hook="case"]').toggleClass('col-sm-12 col-sm-9');
    $('.chat').delay(500).fadeToggle('slow');
}, function() {
    $('.chat').fadeToggle('slow', 'swing', function() {
        $('[data-hook="case"]').delay(500).toggleClass('col-sm-12 col-sm-9');
    });
});