我不知道是否有人这样做,但我想这是......
我一开始以为我的整个脚本可能有问题,我设法在localhost上创建新文件并测试fadeOut();功能.
显然它再次返回功能两次,所以我去了jsfiddle检查那里会发生什么.同样的事情发生了.在这种情况下console.log();返回两次.
好吧,我想返回指定的函数,或者在小提琴样本中,console.log();只指定一次.然而,我正在褪色多个元素(两个,确切地说).
有没有办法做到这一点,而不是同时将每个元素复制到fadeOut?
将返回console.log()的示例; 两次.
setTimeout(function () {
$( ".one, .two" ).fadeOut(300, function () {
console.log("Return Function!");
});
}, 2000);
Run Code Online (Sandbox Code Playgroud)
将返回console.log()的示例; 一旦.
setTimeout(function () {
$( ".one" ).fadeOut(300);
$( ".two" ).fadeOut(300, function () {
console.log("Return Function!");
});
}, 2000);
Run Code Online (Sandbox Code Playgroud)
小提琴预览: 小提琴重定向
集合中有两个元素,因此fadeOut被调用两次,所以是的,它应该这样做.
通过使用动画中返回的promise和$.when,无论集合中的元素数量是多少,都可以只触发一次回调$.then
setTimeout(function () {
$.when( $( ".one, .two" ).fadeOut(300) ).then(function () {
console.log("Return Function!");
});
}, 2000);
Run Code Online (Sandbox Code Playgroud)