我知道已经回答了,但是似乎没有一个问题与我的观点完全相关。我的代码如下。我需要将变量$dynamicPanel
传递给第二个函数,或者将this
传递给第二个函数。无论哪种方式都是可以接受的。
在进行此操作时,有什么方法可以让我等待几秒钟来执行FirstAnimation
函数,而无需再次使用animate()
方法。
$(document).ready(function FirstAnimation() {
var $dynamicPanel = $(".dynamicPanel");
$('.dynamicPanel').animate({
opacity: 0,
left: '100'
}, 5000, function () {
alert('first animation complete');
SecondAnimation(this);
});
});
function SecondAnimation(this) {
$(this).animate({
opacity: 1
}, 100, function () {
alert('second animation complete');
FirstAnimation();
});
};
最佳答案
this
是保留字,不能用作参数名称。你应该做这个:
$(document).ready(function(){
FirstAnimation();
});
function FirstAnimation() {
//this function doesn't change, use your code
};
function SecondAnimation(elem) {
$(elem).animate({
opacity: 1
}, 100, function () {
alert('second animation complete');
setTimeout(function(){ //Delay FirstAnimation 7 seconds
FirstAnimation();
}, 7000);
});
};
希望这可以帮助。干杯