2013-01-14 73 views
1

我会一个接一个地执行这段代码。这是可能的?事件发生后的事件

$('#carouselselectitem1').click(function() { 
    $('#foo2').animate({opacity: "0"}, function() { 
     $(this).load("carousel/todos.html"); 
     $('#foo2').animate({"opacity":"1"}); 
     $('#carouselselectitem1').css({'background-color' : '#FF0000' , 'opacity' : '1'}); 
    }); 
}); 
+2

不知道明白这个问题。如果你把它放在一个函数中,你可以一次又一次地调用它,或者使用'setTimeout'在一段时间后调用它。 – chrisbradbury

回答

2

如果我理解你的问题的权利,你必须使用回调函数:

$('#carouselselectitem1').click(function() { 
    $('#foo2').animate({opacity: "0"}, function() { 
     $(this).load("carousel/todos.html", function() { 
      $('#foo2').animate({"opacity":"1"}, function() { 
       $('#carouselselectitem1').css({'background-color' : '#FF0000' , 'opacity' : '1'});       
      }); 
     }); 
    }); 
}); 
+0

完美!对不起,我的英语xD和谢谢! –

1

您可以触发使用jQuery的事件。看看这里: Trigger Event有在底部的例子,button_2上button_触发点击事件1

1

只是测试它:

$('#carouselselectitem1').click(function() { 
    $('#foo2').animate({opacity: "0"},1000 , function() { 
     $(this).load("carousel/todos.html"); 
     $('#foo2').animate({"opacity":"1"},1000,function(){ 
      $('#carouselselectitem1').css({'background-color' : '#FF0000' , 'opacity' : '1'}); 
     }); 
    }); 
}); 
+0

此代码的作品!但是Slevin的代码工作更加流畅。谢谢! –

1

您需要使用一个回调为load功能,与其他一起回调。 我也建议缓存选择器。

$('#carouselselectitem1').click(function(){ 
    var carousel = $(this), 
     foo2  = $('#foo2'); 
    foo2.animate({opacity: "0"}, function(){ 
    foo2.load("carousel/todos.html", function(){ 
     foo2.animate({opacity:"1"}, function(){ 
     carousel.css({'background-color' : '#FF0000','opacity' : '1'}); 
     }); 
    }); 
    }); 
});