如果我有一个div可以清除其内容,但又想在其中放置新的内容,那么我该如何对这些函数进行字符串处理,以便仅在上一个函数完成后才触发
$('#nner_container').fadeOut(300, function(){
$('#header_div').after('<div id="inner_container" style="dispay:none"></div>');
//when this insertion of inner_container completes, fill it with some content
//and when that completes, fadeIn inner_container
});
大多数jquery函数似乎将其他函数作为最终参数,我认为正是出于此目的。但是
after()
并非如此。还是我做错了什么。谢谢
最佳答案
添加新的div后,只需淡入inner_container
:
$('#inner_container').fadeOut(300, function(){
$('#header_div').after('<div id="inner_container" style="dispay:none"></div>');
$('#inner_container').fadeIn(300);
});
after
函数是同步的,这意味着下一条语句在上一条语句完成之前不会执行。另一方面,
fadeOut
和fadeIn
异步执行,这意味着下一个语句可以在效果完成之前执行。这就是效果完成后fadeOut
和fadeIn
函数需要回调才能执行的原因。关于javascript - 我该如何链接这些功能,以便一旦完成,就可以触发下一个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12184455/