我执行了以下两次执行的功能,可以选择只执行一次吗? 然而,尝试了许多事情却没有取得任何成功;(
$("#myDiv1, #myDiv2").fadeIn('20',function(){
{
alert('alert');
}
});
答案 0 :(得分:1)
您可以使用承诺来解决多个回调问题:
$("#myDiv1, #myDiv2").fadeIn('200').promise().done(function()
{
console.log('Test');
});
.promise()方法返回动态生成的Promise,一旦绑定到集合的特定类型的所有操作都会解析。
答案 1 :(得分:1)
尝试,
$("#myDiv1, #myDiv2").fadeIn(20).promise().done(function(){
alert('alert');
});
答案 2 :(得分:0)
如果DOM中同时包含#myDiv1
和#myDiv2
,则会运行两次。没有办法解决它(除了使用其他答案所建议的promise()
)。您只需将选择器更改为$('#myDiv1')
。
另一种方法是使用标志(JSFiddle Demo)
var do_run = true;
$('#myDiv1, #myDiv2').fadeIn(20, function() {
if (! do_run) return;
do_run = false;
alert(2)
})