2011-12-18 57 views
0

我想并行执行两个效果。一个jQuery UI“传输”动画和另一个元素上的“淡入”。他们应该同时开始和结束。并行jQuery效果

我迄今为止代码:

$('#foo').hover(function() { 
     $(this).effect("transfer", { 
      to: "#transition-target", 
      className: "ui-effects-transfer" 
     }, 300, function() { 
      $('#bar').fadeIn(300); 
     }); 
    }); 

据我所知,这两个影响一个接着一个。是否可以实现并行效果执行?

回答

2

您在效果的“回调”中使用了fadeIn函数。回调仅在动画完成后触发/运行。这应该可以帮助你了..

$('#foo').hover(function() { 

    $(this).effect("transfer", { 
     to: "#transition-target", 
     className: "ui-effects-transfer" 
    }, 300); 

    $('#bar').fadeIn(300); 

}); 
+0

感谢,我明白了。它现在有效 – Alp 2011-12-18 14:05:25

2
$('#foo').hover(function() { 
$('#bar').fadeIn(300); 
     $(this).effect("transfer", { 
      to: "#transition-target", 
      className: "ui-effects-transfer" 
     }, 300 ); 
    }); 
1

你可以使用animate 2个或多个并行FX。

1

两个并行运行,即这两个动画同时使用queue : false,不要把第二动画中的第一个这样的回调函数:

$('#foo').hover(function() { 
    $(this).effect("transfer", { 
     to: "#transition-target", 
     className: "ui-effects-transfer" 
    }, { duration:300, queue: false}); 
    $('#bar').fadeIn({ duration: 300, queue: false}); 
});