jQuery:回调不能正常工作

Ric*_*Zea 2 jquery

我是jQuery的新手,如果我在这里说错了,请原谅我(并请求我更正).

我有这个代码,并且单击元素时正在执行回调,而不是在slideUp完成后执行:

$('.close-button').click(function(){
    $('.click-menu div').slideUp(3000, function() {
        $('.generic-box a, .generic-box p').css('z-index','1');
    });     
});
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

任何帮助将不胜感激.

谢谢.

Nic*_*ver 7

可能发生的事情是,任何已经隐藏的<div>元素都会立即执行回调,因为它们的隐藏动画会立即完成,您可以通过仅滑动:visible元素来避免这种情况,如下所示:

$('.close-button').click(function(){
    $('.click-menu div:visible').slideUp(3000, function() {
        $('.generic-box a, .generic-box p').css('z-index','1');
    });     
});
Run Code Online (Sandbox Code Playgroud)