Javascript 使用jQuery如何在自定义函数完成后继续执行一组动画
我有一系列动画(fadeIn/Out…)。在运行这些的过程中,我需要运行一个自定义函数。函数运行后,我想继续本系列的下一项 以下是相关的代码片段:Javascript 使用jQuery如何在自定义函数完成后继续执行一组动画,javascript,jquery,Javascript,Jquery,我有一系列动画(fadeIn/Out…)。在运行这些的过程中,我需要运行一个自定义函数。函数运行后,我想继续本系列的下一项 以下是相关的代码片段: context.delay(300).fadeIn(500, function(){ // Step 4 context_item(900, function(){ // Step 5 tag.delay(300).fadeIn(400).shuffleLetters({callback:functio
context.delay(300).fadeIn(500, function(){
// Step 4
context_item(900, function(){
// Step 5
tag.delay(300).fadeIn(400).shuffleLetters({callback:function(){
第一部分是延迟,然后是fadeIn。完成后,我运行context_item(),这是一个函数:
function context_item(duration){
var msg = $('#intro-context span');
var delay = duration;
msg.each(function(index){
var item = $(this);
item.show();
if(index == 3) {
item.shuffleLetters(400);
} else{
item.shuffleLetters({callback:function(){
item.delay(delay).fadeOut(300);
}});
}
});
}
一旦context_项运行完毕,我想从上面回到步骤5。我试图像对待fadeIn(time,function(){})这样的jQuery效果一样对待我的函数
卡住了
非常感谢你的帮助
--编辑
问题是,一旦context_item函数运行完它的.each,它就不会继续执行步骤5 如果我理解正确,您正在尝试使用回调创建函数 在这种情况下,
context\u item()
函数的外观如下:
function context_item(duration, f){
//your code
if (typeof f == "function") f(); else alert('A function must be passed for f');
}
那么,问题出在哪里?我编辑这个问题是为了更好地说明问题,所以你的意思是它没有运行回调?应该上下文_项(900,函数((){DO MORE STUFF});工作?我是js/jquery的新手,所以我正在努力理解。我本以为我必须告诉它在函数创建结束时做更多的事情……这确实是我正试图做的。我要澄清一下:通过运行f();您正在运行函数()在第五步之前打电话。。。thhanks@TJSherrill执行完
上下文项目后,您将运行步骤5