如何在许多元素上的fadeOut()之后调用函数

mar*_*zzz 19 jquery

我有这个代码:

$('.hotel_photo_select').fadeOut(500, function () {
    alert("Now all '.hotel_photo_select are hidden'");
});
Run Code Online (Sandbox Code Playgroud)

而且我只想在所有 .hotel_photo_select fadeOuted(所以,隐藏)时调用该警报.

我该怎么做?使用我的代码,在第一个元素为淡出后调用警报...

Bro*_*ass 51

你可以使用promise()方法(doc页面有一个很好的例子).

.promise()方法返回一个动态生成的Promise,一旦绑定到集合(排队或非排队)的某个类型的所有操作都已结束,它就会被解析.

应用于您的示例应该是这样的:

$.when($('.hotel_photo_select').fadeOut(500))
                               .done(function() {
    alert("Now all '.hotel_photo_select are hidden'");
});
Run Code Online (Sandbox Code Playgroud)

  • 你是如何在这里使用.promise()的? (14认同)
  • 这是promise()版本:$('.hotel_photo_select').fadeOut(500).promise().done(function(){alert("Now all'.hotel_photo_select is hidden'");}); (5认同)

小智 5

$(element).fadeOut(duration, onComplete)
Run Code Online (Sandbox Code Playgroud)

例子:

$('#box').fadeOut(400, () => { console.log('Fade effect is done') })
Run Code Online (Sandbox Code Playgroud)