Ich habe zwei if-Anweisungen in Javascript. Ich brauche die zweite if-Anweisung, die erst ausgeführt wird, nachdem die erste if-Anweisung ausgeführt wurde (ich kann die beiden if-Anweisungen nicht ineinander haben, da die erste if-Anweisung manchmal ausgeführt wird. Ansonsten muss zuerst überprüft werden, bevor die zweite ausgeführt werden kann).)jQuery warten auf if-Anweisung zu beenden
Wie mache ich das?
Hier ist der Code btw:
if($('#suggestion-'+change).html() == null)
{
$.ajax({
type: 'post',
dataType: 'html',
url: '/suggestion/ajax-change/',
data: {type: change},
success: function(result,status)
{
$('#profile_suggestion .content_wrapper').prepend(result);
}
});
}
if(active != change)
{
var panelShow = '#suggestion-' + change;
var panelHide = '#suggestion-' + active;
var dirShow = ''; var dirHide = '';
switch(active)
{
case 'compatibility':
dirHide = 'left';
switch(change)
{
case 'mutual':
dirShow = 'right';
break;
}
case 'mutual':
switch(change)
{
case 'compatibility':
dirHide = 'right';
dirShow = 'left';
}
}
$(panelHide).hide("slide", { direction: dirHide }, 1000);
$(panelShow).show("slide", { direction: dirShow }, 1000).removeClass('fader');
$(panelHide).addClass('fader');
active = change;
}
Hallo, danke für die Antwort. Die beiden if-Anweisungen sind voneinander unabhängig, so dass sie nicht ineinander sein können. Es ist nur, dass die zweite if-Anweisung nach der ersten Anweisung ausgeführt werden muss (und manchmal ist die erste if-Anweisung sowieso falsch, aber das muss zuerst überprüft werden!) – user1083320
Sie können auch die Verwendung von complete .. in Erwägung ziehen und trigger() verwenden Veranlassen, dass ein ordnungsgemäßes Ereignis generiert wird. –