所以我有以下代码:
- (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-12
而toggleClass()
是即时的?
干杯, 奥蒂斯。
答案 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');
});
});