javascript - jQuery children().fadeOut() 然后执行单个函数

标签 javascript jquery

我有一个看起来像这样的 jQuery 函数:

$.get(urlCall, function (data) {
    $('#divId').children().fadeOut("slow", function() {
        $('#divId').append(data);
        $('#divId').fadeIn("slow");
    });
});

问题是它正在为“#divId”下的每个子项调用一次附加和淡入线。我在等这条线

$('#divId').children().fadeOut("slow", function() {    

淡出所有 child ,然后执行 function() 一次。但是因为它为每个 child 执行一次 function() ,所以我附加了很多我不想附加的行。

我确信一定有一种方法可以说“淡出所有 child ,然后做 X 一次”,但我似乎无法弄清楚该怎么做。

帮忙吗?

最佳答案

你可以使用.promise()

$('#divId').children().fadeOut("slow").promise().done(function() {
    $('#divId').append(data);
    $('#divId').fadeIn("slow");
});

The .promise() method returns a dynamically generated Promise that is resolved once all actions of a certain type bound to the collection, queued or not, have ended.

By default, type is "fx", which means the returned Promise is resolved when all animations of the selected elements have completed.

对于反对者

演示:Fiddle

关于javascript - jQuery children().fadeOut() 然后执行单个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432160/

相关文章:

javascript - 使用 javascript 定位某个类的最接近的 div

javascript - 通过 ajax 将 Javascript 变量传递给 PHP

jquery - .触发('click');没有触发

javascript - Angularjs 根据存储在 session 存储中并存储在 $scope 中的变量动态显示/隐藏元素

javascript西里尔正则表达式

javascript - PageDown 编辑器中是否有允许脚本或嵌入代码的选项?

javascript - 如果键与数组值匹配,如何获取值

javascript - jQuery 函数未更新

javascript - 无法在 ion-spinner 上执行 ng-click 事件

javascript - $.get() 方法 JQuery 不读取任何内容 (html)